/*
 * 房间桌面端唯一布局层。
 * 只定义各区域的尺寸与位置；皮肤、文字和控件细节仍由既有样式提供。
 */
html:not(.is-mobile) #app .game-page.default-game-root {
  --room-u: 1.333333;
  /* 宽舞台沿用参考画面的横向比例；纵向仍保持 720px 房间节奏。 */
  --room-x: 1.333333;
  /* 房间外层与大厅共用 1280px 宽舞台。 */
  width: 1280px !important;
  height: 720px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

/* 顶栏与视频无缝衔接（官方无空隙） */
html:not(.is-mobile) #app .game-page .game-head {
  height: calc(28px * var(--room-u)) !important;
  min-height: calc(28px * var(--room-u)) !important;
  max-height: calc(28px * var(--room-u)) !important;
  flex: 0 0 calc(28px * var(--room-u)) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-image:
    linear-gradient(0deg, #a49347, #c6bc69 64%, #e7e48a 89%, #86844e),
    linear-gradient(#3c2d17, #3c2d17) !important;
  background-blend-mode: normal, normal !important;
  background-color: transparent !important;
}

/* 第一段：顶部信息栏与下方视频左栏使用同一条分界线。 */
html:not(.is-mobile) #app .game-page .game-head .game-info {
  width: calc(562px * var(--room-x)) !important;
  min-width: calc(562px * var(--room-x)) !important;
  max-width: calc(562px * var(--room-x)) !important;
  flex-basis: calc(562px * var(--room-x)) !important;
}

html:not(.is-mobile) #app .game-page .game-head .game-info label {
  width: calc(185px * var(--room-x)) !important;
  font-size: calc(13px * var(--room-u)) !important;
}

html:not(.is-mobile) #app .game-page .game-head .game-info b {
  width: calc(124px * var(--room-x)) !important;
  min-width: calc(124px * var(--room-x)) !important;
  max-width: calc(124px * var(--room-x)) !important;
  height: calc(21px * var(--room-u)) !important;
  font-size: calc(13px * var(--room-u)) !important;
  background: #5c491b !important;
  color: #fff !important;
  border-radius: calc(3px * var(--room-u)) !important;
}

html:not(.is-mobile) #app .game-page .game-head > .game-head-btn {
  width: calc(91px * var(--room-x)) !important;
  min-width: calc(91px * var(--room-x)) !important;
  max-width: calc(91px * var(--room-x)) !important;
  height: calc(28px * var(--room-u)) !important;
  flex: 0 0 calc(91px * var(--room-x)) !important;
  background: url(/assets/menu-item-btn.png) 0 0 / calc(91px * var(--room-x)) calc(28px * var(--room-u)) no-repeat !important;
  background-color: transparent !important;
  background-size: calc(91px * var(--room-x)) calc(28px * var(--room-u)) !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  font-size: calc(14px * var(--room-u)) !important;
  font-weight: 400 !important;
  font-family: buttonface2, "Courier New", Courier, monospace !important;
  line-height: normal !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  margin: 0 auto !important;
}

/* 三个按钮水平均分，无上下额外边距 */
html:not(.is-mobile) #app .game-page .game-head > .game-head-btn:nth-of-type(1),
html:not(.is-mobile) #app .game-page .game-head > .game-head-btn:nth-of-type(2),
html:not(.is-mobile) #app .game-page .game-head > .game-head-btn:nth-of-type(3),
html:not(.is-mobile) #app .game-page .game-head > .game-head-btn:last-of-type {
  margin: 0 auto !important;
}

/* 顶栏台号/账号/余额：标签与数字加粗 */
html:not(.is-mobile) #app .game-page .game-head .game-info,
html:not(.is-mobile) #app .game-page .game-head .game-info label,
html:not(.is-mobile) #app .game-page .game-head .game-info b {
  font-weight: 700 !important;
  -webkit-text-stroke: 0 !important;
}

html:not(.is-mobile) #app .game-page .game-head .game-info label,
html:not(.is-mobile) #app .game-page .game-head .game-info b {
  font-family: mstiffheiprc, "Microsoft YaHei", "Courier New", Courier, monospace !important;
}

html:not(.is-mobile) #app .game-page .game-head .game-info b {
  font-weight: 800 !important;
}

html:not(.is-mobile) #app .game-page .video-and-bet {
  height: calc(390px * var(--room-u)) !important;
  min-height: calc(390px * var(--room-u)) !important;
  flex: 0 0 calc(390px * var(--room-u)) !important;
  display: grid !important;
  grid-template-columns: calc(562px * var(--room-x)) minmax(0, 1fr) !important;
  overflow: hidden !important;
}

html:not(.is-mobile) #app .game-page .game-left,
html:not(.is-mobile) #app .game-page .left-content {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

html:not(.is-mobile) #app .game-page .video-placeholder,
html:not(.is-mobile) #app .game-page .video-wraps {
  position: relative !important;
  width: 100% !important;
  height: calc(298px * var(--room-u)) !important;
  min-height: calc(298px * var(--room-u)) !important;
  max-height: calc(298px * var(--room-u)) !important;
  flex: 0 0 calc(298px * var(--room-u)) !important;
  overflow: hidden !important;
  background: #080704 !important;
}

/*
 * 视频框内（对齐官方 PC video-wraps）
 * - 画面铺满，无荷官静态底图遮挡
 * - 左下角 media-tools
 * - 连接状态条可点重试
 */
html:not(.is-mobile) #app .game-page .video-placeholder.room-scene,
html:not(.is-mobile) #app .game-page .video-wraps.room-scene {
  background: #080704 !important;
  background-image: none !important;
  background-color: #080704 !important;
}

/* 视频：压过 dealer 底图与旧 display:none，必须永远可见 */
html:not(.is-mobile) #app .game-page .video-placeholder .room-video,
html:not(.is-mobile) #app .game-page .video-placeholder .room-video.live-stream,
html:not(.is-mobile) #app .game-page .video-wraps .room-video.live-stream,
html:not(.is-mobile) #app .game-page #liveStreamVideo,
html:not(.is-mobile) #app .game-page video.room-video {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 5 !important;
  background: #080704 !important;
  filter: none !important;
  transform: none !important;
  pointer-events: auto !important;
}

html:not(.is-mobile) #app .game-page .video-placeholder.room-scene,
html:not(.is-mobile) #app .game-page .video-wraps.room-scene {
  background: #080704 !important;
  background-image: none !important;
}

html:not(.is-mobile) #app .game-page .video-placeholder .room-motion,
html:not(.is-mobile) #app .game-page .video-placeholder .video-note,
html:not(.is-mobile) #app .game-page .video-placeholder .deal-api-status,
html:not(.is-mobile) #app .game-page .video-placeholder .dealt-cards {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: none !important;
  display: none !important;
}

/* 手机专用叠层桌面隐藏 */
html:not(.is-mobile) #app .game-page .m-video-badge,
html:not(.is-mobile) #app .game-page .m-video-limit,
html:not(.is-mobile) #app .game-page .m-switch-desk {
  display: none !important;
}

/* 桌面：不在视频里显示「直播连接中/直播中」字条 */
html:not(.is-mobile) #app .game-page .live-stream-status,
html:not(.is-mobile) #app .game-page .live-stream-status.loading,
html:not(.is-mobile) #app .game-page .live-stream-status.reconnecting,
html:not(.is-mobile) #app .game-page .live-stream-status.online,
html:not(.is-mobile) #app .game-page .live-stream-status.paused,
html:not(.is-mobile) #app .game-page [data-live-status] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/*
 * 官方 media-tools 左下角 1:1
 * 收起 pc18×31，展开 pc80；内层 s/v/a
 */
html:not(.is-mobile) #app .game-page .media-tools {
  position: absolute !important;
  left: calc(2px * var(--room-u)) !important;
  bottom: calc(2px * var(--room-u)) !important;
  top: auto !important;
  right: auto !important;
  width: calc(18px * var(--room-u)) !important;
  height: calc(31px * var(--room-u)) !important;
  background-color: rgba(0, 0, 0, 0.5) !important;
  border-radius: calc(4px * var(--room-u)) !important;
  border: solid calc(1px * var(--room-u)) rgba(187, 179, 113, 0.5) !important;
  overflow: hidden !important;
  z-index: 15 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: width 0.6s linear !important;
  box-sizing: border-box !important;
}

html:not(.is-mobile) #app .game-page .media-tools.on {
  width: calc(80px * var(--room-u)) !important;
}

html:not(.is-mobile) #app .game-page .media-tools .media-tools-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: calc(80px * var(--room-u)) !important;
  height: 100% !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  margin: auto !important;
  padding-left: calc(7px * var(--room-u)) !important;
  padding-right: calc(5px * var(--room-u)) !important;
  box-sizing: border-box !important;
}

html:not(.is-mobile) #app .game-page .media-tools .mt-btn {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background-color: transparent !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  display: block !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 官方顺序：画面(v) · 声音(s) · 展开箭头(a) — 收起时只露出箭头侧 */
html:not(.is-mobile) #app .game-page .media-tools .mt-video,
html:not(.is-mobile) #app .game-page .media-tools .mt-sound {
  width: calc(26px * var(--room-u)) !important;
  height: calc(23px * var(--room-u)) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% 100% !important;
}

/* 播放/画面图标（金黄） */
html:not(.is-mobile) #app .game-page .media-tools .mt-video {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 23' fill='none'%3E%3Crect x='1.5' y='3' width='16' height='17' rx='1.5' stroke='%23e6db85' stroke-width='1.6'/%3E%3Cpath d='M11 8.5v6l5.5-3-5.5-3z' fill='%23e6db85'/%3E%3Cpath d='M19 7l5 3.5v2L19 16V7z' fill='%23e6db85'/%3E%3C/svg%3E") !important;
}

/* 喇叭图标 */
html:not(.is-mobile) #app .game-page .media-tools .mt-sound {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 23' fill='none'%3E%3Cpath d='M4 8h4l5-4v15l-5-4H4V8z' fill='%23e6db85'/%3E%3Cpath d='M16 8.5c1.2.9 2 2.3 2 3.5s-.8 2.6-2 3.5' stroke='%23e6db85' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M18.5 6c1.9 1.4 3 3.4 3 5.5s-1.1 4.1-3 5.5' stroke='%23e6db85' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

html:not(.is-mobile) #app .game-page .media-tools .mt-arrow {
  width: calc(8px * var(--room-u)) !important;
  height: calc(16px * var(--room-u)) !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 16' fill='none'%3E%3Cpath d='M6 2L2 8l4 6' stroke='%23e6db85' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat !important;
  transform: rotate(180deg) !important;
  transition: transform 0.3s linear !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
}

html:not(.is-mobile) #app .game-page .media-tools.on .mt-arrow {
  transform: rotate(0deg) !important;
}

html:not(.is-mobile) #app .game-page .media-tools .mt-sound.on {
  filter: drop-shadow(0 0 3px #ffe77b) !important;
}

/* 隐藏旧 media-icons 空壳 */
html:not(.is-mobile) #app .game-page .media-icons {
  display: none !important;
}

/*
 * 换台 + 公告：官方 remaining = 390-298 = 92 设计单位
 * 不可 flex 撑满，否则切换房间区会过高
 */
html:not(.is-mobile) #app .game-page .tables-and-notice {
  flex: 0 0 calc(92px * var(--room-u)) !important;
  height: calc(92px * var(--room-u)) !important;
  min-height: calc(92px * var(--room-u)) !important;
  max-height: calc(92px * var(--room-u)) !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
}

/* 换台按钮区：92 - 20(公告) - 3(下边距) ≈ 69 */
html:not(.is-mobile) #app .game-page .desk-switch {
  flex: 1 1 auto !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

/*
 * 公告：固定底框 + 文字滚动（禁止 transform:!important，否则动画失效）
 */
html:not(.is-mobile) #app .game-page .tables-and-notice > .urgent,
html:not(.is-mobile) #app .game-page .tables-and-notice > .notice-wrap {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  order: 2 !important;
  flex: 0 0 calc(20px * var(--room-u)) !important;
  width: 100% !important;
  height: calc(20px * var(--room-u)) !important;
  min-height: calc(20px * var(--room-u)) !important;
  max-height: calc(20px * var(--room-u)) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  z-index: 20 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  animation: none !important;
}

html:not(.is-mobile) #app .game-page .tables-and-notice > .notice-wrap:before,
html:not(.is-mobile) #app .game-page .tables-and-notice > .urgent:before {
  display: none !important;
  content: none !important;
  animation: none !important;
}

/* 固定棕色底框（不动；无上下 margin，避免公告下空位） */
html:not(.is-mobile) #app .game-page .tables-and-notice > .notice-wrap > .notice,
html:not(.is-mobile) #app .game-page .tables-and-notice .notice {
  position: relative !important;
  display: block !important;
  animation: none !important;
  width: calc(100% - calc(8px * var(--room-u))) !important;
  max-width: calc(100% - calc(8px * var(--room-u))) !important;
  height: calc(20px * var(--room-u)) !important;
  min-height: calc(20px * var(--room-u)) !important;
  margin: 0 calc(4px * var(--room-u)) !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: calc(2px * var(--room-u)) !important;
  background-color: #5c491b !important;
  color: #fdb963 !important;
  font-size: calc(11px * var(--room-u)) !important;
  line-height: calc(20px * var(--room-u)) !important;
  box-sizing: border-box !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 仅文字滚动 —— 不要给 transform 加 !important */
html:not(.is-mobile) #app .game-page .tables-and-notice .notice > .urgent-track,
html:not(.is-mobile) #app .game-page .tables-and-notice .urgent-track {
  display: inline-block !important;
  position: relative !important;
  width: max-content !important;
  max-width: none !important;
  min-width: max-content !important;
  height: calc(18px * var(--room-u)) !important;
  margin: 0 !important;
  padding-left: 100% !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #fdb963 !important;
  font-size: calc(11px * var(--room-u)) !important;
  line-height: calc(18px * var(--room-u)) !important;
  white-space: nowrap !important;
  overflow: visible !important;
  box-sizing: content-box !important;
  animation: roomNoticeScroll 22s linear infinite !important;
  -webkit-animation: roomNoticeScroll 22s linear infinite !important;
  will-change: transform;
}

@-webkit-keyframes roomNoticeScroll {
  from { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
  to { -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
}
@keyframes roomNoticeScroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-100%, 0, 0); }
}

html:not(.is-mobile) #app .game-page .bet-panel,
html:not(.is-mobile) #app .game-page .right-content {
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

html:not(.is-mobile) #app .game-page .bet-panel > .panel-top {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  order: 1 !important;
  height: calc(123px * var(--room-u)) !important;
  min-height: calc(123px * var(--room-u)) !important;
  flex: 0 0 calc(123px * var(--room-u)) !important;
}

html:not(.is-mobile) #app .game-page .bet-panel > .bet-summary {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  order: 2 !important;
  height: calc(16px * var(--room-u)) !important;
  min-height: calc(16px * var(--room-u)) !important;
  flex: 0 0 calc(16px * var(--room-u)) !important;
}

html:not(.is-mobile) #app .game-page .bet-panel > .bet-zones {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  order: 3 !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

html:not(.is-mobile) #app .game-page .bet-panel > .chips-and-confirm-cancel-button {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  order: 4 !important;
  flex: 0 0 auto !important;
}

/* 右侧卡片与视频区采用同一横向比例，避免宽舞台下右侧卡片被拉得过宽。 */
html:not(.is-mobile) #app .game-page .panel-top-left {
  width: calc(161px * var(--room-x)) !important;
  min-width: calc(161px * var(--room-x)) !important;
  max-width: calc(161px * var(--room-x)) !important;
  flex-basis: calc(161px * var(--room-x)) !important;
}

/* 第二段：右上状态/限额卡。左列固定四成，右列随面板填满。 */
html:not(.is-mobile) #app .game-page .panel-top-right {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/*
 * 限红：下限等 boxed 浅金 #f7eb9f；本台单限/局数 plain 白色
 */
html:not(.is-mobile) #app .game-page .limits .lim-lab,
html:not(.is-mobile) #app .game-page .limits .lim-val,
html:not(.is-mobile) #app .game-page .limits .lim-row,
html:not(.is-mobile) #app .game-page .limits .lim-row.boxed .lim-lab,
html:not(.is-mobile) #app .game-page .limits .lim-row.boxed .lim-val {
  color: #f7eb9f !important;
}

html:not(.is-mobile) #app .game-page .limits .lim-lab {
  width: calc(74px * var(--room-x)) !important;
  padding-right: calc(5px * var(--room-x)) !important;
  font-size: calc(13px * var(--room-u)) !important;
  color: #f7eb9f !important;
  font-weight: 400 !important;
}

html:not(.is-mobile) #app .game-page .limits .lim-val {
  margin-left: calc(10px * var(--room-x)) !important;
  margin-right: calc(10px * var(--room-x)) !important;
  font-size: calc(13px * var(--room-u)) !important;
  color: #f7eb9f !important;
  font-weight: 400 !important;
}

/* 本台单限、局数：白字、无深色数值框 */
html:not(.is-mobile) #app .game-page .limits .lim-row.plain,
html:not(.is-mobile) #app .game-page .limits .lim-row.plain .lim-lab,
html:not(.is-mobile) #app .game-page .limits .lim-row.plain .lim-val {
  color: #fff !important;
}
html:not(.is-mobile) #app .game-page .limits .lim-row.plain .lim-val {
  width: auto !important;
  min-width: 0 !important;
  background: transparent !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
}

/* 账户历史 / 遮罩：必须高于公告 z-index:20，避免被挡住 */
#app > .mask,
#app .mask {
  position: absolute !important;
  inset: 0 !important;
  z-index: 10000 !important;
  background: rgba(0, 0, 0, 0.55) !important;
}
#app > .modal,
#app .modal {
  z-index: 10001 !important;
  position: absolute !important;
}

/* 下注 toast：舞台正中（勿用 .notice，避免和公告冲突） */
#app > .app-toast,
#app .app-toast {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10002 !important;
  margin: 0 !important;
  max-width: 70% !important;
  padding: 12px 28px !important;
  border: 1px solid #edd776 !important;
  border-radius: 6px !important;
  background: rgba(36, 28, 9, 0.92) !important;
  color: #ffec9a !important;
  font: 400 16px/1.4 "Microsoft YaHei", sans-serif !important;
  text-align: center !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.45) !important;
}

html:not(.is-mobile) #app .game-page .bet-summary .total-bet-group {
  width: calc(161px * var(--room-x)) !important;
  min-width: calc(161px * var(--room-x)) !important;
  max-width: calc(161px * var(--room-x)) !important;
  flex-basis: calc(161px * var(--room-x)) !important;
}

html:not(.is-mobile) #app .game-page .bet-summary .label1,
html:not(.is-mobile) #app .game-page .bet-summary .total-bet-group > span,
html:not(.is-mobile) #app .game-page .bet-summary .total-winloss-group > span {
  width: calc(76px * var(--room-x)) !important;
  min-width: calc(76px * var(--room-x)) !important;
  max-width: calc(76px * var(--room-x)) !important;
  padding-right: calc(5px * var(--room-x)) !important;
}

html:not(.is-mobile) #app .game-page .bet-summary .value1,
html:not(.is-mobile) #app .game-page .bet-summary .total-bet-group > b,
html:not(.is-mobile) #app .game-page .bet-summary .total-winloss-group > b {
  min-width: 0 !important;
  padding-left: calc(4px * var(--room-u)) !important;
  padding-right: calc(4px * var(--room-u)) !important;
}

/* 第四段：五个下注卡片仅校正纵向比例，保留已确认的左右距离。 */
html:not(.is-mobile) #app .game-page .bet-zones,
html:not(.is-mobile) #app .game-page .bet-group {
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
}

html:not(.is-mobile) #app .game-page .game-road,
html:not(.is-mobile) #app .game-page .road-map-container {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  width: 100% !important;
}

/*
 * 最终几何（官方 960→1280）
 * head 28 | video-and-bet 390 = video 298 + tables 92 | road 剩余
 * 顶栏与视频无空隙；换台区不可再 flex 撑高
 */
#app .game-page.default-game-root .game-head {
  height: calc(28px * var(--room-u)) !important;
  min-height: calc(28px * var(--room-u)) !important;
  max-height: calc(28px * var(--room-u)) !important;
  flex: 0 0 calc(28px * var(--room-u)) !important;
  margin: 0 !important;
  padding: 0 !important;
}

#app .game-page.default-game-root .video-and-bet {
  height: calc(390px * var(--room-u)) !important;
  min-height: calc(390px * var(--room-u)) !important;
  max-height: calc(390px * var(--room-u)) !important;
  flex: 0 0 calc(390px * var(--room-u)) !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

#app .game-page.default-game-root .game-left,
#app .game-page.default-game-root .left-content {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  width: auto !important;
  flex: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#app .game-page.default-game-root .video-placeholder,
#app .game-page.default-game-root .video-wraps {
  height: calc(298px * var(--room-u)) !important;
  min-height: calc(298px * var(--room-u)) !important;
  max-height: calc(298px * var(--room-u)) !important;
  flex: 0 0 calc(298px * var(--room-u)) !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
}

/* 切换房间区：固定 92 设计高，内部 = 换台 + 公告 */
#app .game-page.default-game-root .tables-and-notice {
  height: calc(92px * var(--room-u)) !important;
  min-height: calc(92px * var(--room-u)) !important;
  max-height: calc(92px * var(--room-u)) !important;
  flex: 0 0 calc(92px * var(--room-u)) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#app .game-page.default-game-root .desk-switch {
  flex: 1 1 auto !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

#app .game-page.default-game-root .tables-and-notice > .notice-wrap,
#app .game-page.default-game-root .tables-and-notice > .urgent {
  position: relative !important;
  bottom: auto !important;
  flex: 0 0 calc(20px * var(--room-u)) !important;
  height: calc(20px * var(--room-u)) !important;
  min-height: calc(20px * var(--room-u)) !important;
  max-height: calc(20px * var(--room-u)) !important;
  margin: 0 !important; /* 公告下不留空 */
  padding: 0 !important;
}

#app .game-page.default-game-root .bet-panel,
#app .game-page.default-game-root .right-content {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

#app .game-page.default-game-root .bet-panel > .panel-top {
  height: 164px !important;
  min-height: 164px !important;
  max-height: 164px !important;
  flex-basis: 164px !important;
}

/* 右栏与左栏同高（随 video-and-bet 390*u，不再写死 520 以免换台区被挤/撑） */
#app .game-page.default-game-root .bet-panel,
#app .game-page.default-game-root .right-content {
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
}

#app .game-page.default-game-root .panel-top-left {
  width: calc(161px * var(--room-x)) !important;
  min-width: calc(161px * var(--room-x)) !important;
  max-width: calc(161px * var(--room-x)) !important;
  flex: 0 0 calc(161px * var(--room-x)) !important;
}

#app .game-page.default-game-root .panel-top-left .status-logo,
#app .game-page.default-game-root .panel-top-left .logo-wrap {
  height: calc(72px * var(--room-u)) !important;
  min-height: calc(72px * var(--room-u)) !important;
  max-height: calc(72px * var(--room-u)) !important;
  flex: 0 0 calc(72px * var(--room-u)) !important;
}

#app .game-page.default-game-root .panel-top-left .timer-and-status,
#app .game-page.default-game-root .panel-top-left .game-status {
  height: calc(51px * var(--room-u)) !important;
  min-height: calc(51px * var(--room-u)) !important;
  max-height: calc(51px * var(--room-u)) !important;
  flex: 0 0 calc(51px * var(--room-u)) !important;
}

/* 下注/赢得：紧贴「停止投注 + 局数」下方（官方 pc16） */
#app .game-page.default-game-root .bet-panel > .bet-summary,
#app .game-page.default-game-root .bet-panel > .total-bet-and-total-winloss {
  order: 2 !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  height: calc(16px * var(--room-u)) !important;
  min-height: calc(16px * var(--room-u)) !important;
  max-height: calc(16px * var(--room-u)) !important;
  flex: 0 0 calc(16px * var(--room-u)) !important;
  margin: 0 !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 5 !important;
}

/* 换台卡皮肤按参考桌面：金棕渐变底色、宋体标题与深色投影。 */
#app .game-page.default-game-root .desk-switch {
  background: linear-gradient(90deg, #716522, #908532, #6c6020) !important;
}

/* 繁体 + 加大：百家樂 / 龍虎 / 先發牌區 */
#app .game-page.default-game-root .desk-switch .bac-tables::before {
  content: "\767e\5bb6\6a02" !important; /* 百家樂 */
  font-size: calc(16px * var(--room-u)) !important;
  font-weight: 700 !important;
  font-family: songti2, "STSong", "SimSun", KaiTi, serif !important;
  color: #e6db85 !important;
  text-shadow: calc(1px * var(--room-u)) calc(2px * var(--room-u)) calc(3px * var(--room-u)) #000 !important;
}
#app .game-page.default-game-root .desk-switch .dra-tables::before {
  content: "\9f8d\864e" !important; /* 龍虎 */
  font-size: calc(16px * var(--room-u)) !important;
  font-weight: 700 !important;
  font-family: songti2, "STSong", "SimSun", KaiTi, serif !important;
  color: #e6db85 !important;
  text-shadow: calc(1px * var(--room-u)) calc(2px * var(--room-u)) calc(3px * var(--room-u)) #000 !important;
}

/* 先發牌區：一字一行竖排（繁体） */
#app .game-page.default-game-root .desk-switch .vip-tables::before {
  content: "\5148\A\767c\A\724c\A\5340" !important; /* 先發牌區 */
  white-space: pre !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  writing-mode: horizontal-tb !important;
  width: calc(22px * var(--room-u)) !important;
  font-family: songti2, "STSong", "SimSun", KaiTi, serif !important;
  font-size: calc(14px * var(--room-u)) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  color: #e6db85 !important;
  text-shadow: calc(1px * var(--room-u)) calc(2px * var(--room-u)) calc(3px * var(--room-u)) #000 !important;
  text-align: center !important;
}

/* 右上「开始接受投注／倒计时」卡：按参考页的双层金棕渐变与等比分区。 */
#app .game-page.default-game-root .panel-top-left .timer-and-status,
#app .game-page.default-game-root .panel-top-left .game-status {
  flex: 1 1 auto !important;
  height: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  border: var(--pc1) solid #382d12 !important;
  display: flex !important;
  flex-direction: column !important;
  color: var(--white, #fff) !important;
  background-image:
    linear-gradient(0deg, #a3954f, #4b4315 62%, #776c32 87%, #a3954f),
    linear-gradient(#3c2d17, #3c2d17) !important;
  background-blend-mode: normal, normal !important;
}

#app .game-page.default-game-root .game-status .status,
#app .game-page.default-game-root .game-status .timer,
#app .game-page.default-game-root .game-status .timer strong {
  flex: 1 1 auto !important;
  height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--white, #fff) !important;
}

#app .game-page.default-game-root .game-status .br-line {
  height: var(--pc1) !important;
  flex: 0 0 var(--pc1) !important;
  background-image:
    linear-gradient(90deg, #4b4315, #7c7137 50%, #4b4315),
    linear-gradient(#3c2d17, #3c2d17) !important;
}

/* LOGO 卡：保持参考页 72px 比例及金棕层次，不影响倒计时卡。 */
#app .game-page.default-game-root .panel-top-left .status-logo,
#app .game-page.default-game-root .panel-top-left .logo-wrap {
  height: var(--pc72, 72px) !important;
  min-height: var(--pc72, 72px) !important;
  max-height: var(--pc72, 72px) !important;
  width: 100% !important;
  border: var(--pc1) solid #382d12 !important;
  background-image:
    linear-gradient(0deg, #a3954f, #716732 10%, #3e3915 62%, #716732 87%, #a3954f),
    linear-gradient(#3c2d17, #3c2d17) !important;
  background-blend-mode: normal, normal !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

#app .game-page.default-game-root .panel-top-left .status-logo .logo {
  margin: 0 auto !important;
}

/* 第二行最终几何值：必须置于所有皮肤规则之后，防止 --pc72(81px) 再次覆盖。 */
#app .game-page.default-game-root .bet-panel > .panel-top,
#app .game-page.default-game-root .logo-and-time-limit {
  height: 164px !important;
  min-height: 164px !important;
  max-height: 164px !important;
  flex: 0 0 164px !important;
}

#app .game-page.default-game-root .panel-top-left .status-logo,
#app .game-page.default-game-root .panel-top-left .logo-wrap {
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  flex: 0 0 96px !important;
}

#app .game-page.default-game-root .panel-top-left .timer-and-status,
#app .game-page.default-game-root .panel-top-left .game-status {
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;
  flex: 0 0 68px !important;
}

/* ============================================================
 * FINAL GEOMETRY LOCK r160280
 * 官方: video-and-bet 390 = video 298 + tables/notice 92
 * 顶栏与视频无缝; 公告下 margin=0 消灭空位
 * ============================================================ */
html:not(.is-mobile) #app .game-page.default-game-root {
  --room-u: 1.3333333333;
  --room-x: 1.3333333333;
}

html:not(.is-mobile) #app .game-page.default-game-root > .game-head {
  height: calc(28 * var(--room-u) * 1px) !important;
  min-height: calc(28 * var(--room-u) * 1px) !important;
  max-height: calc(28 * var(--room-u) * 1px) !important;
  flex: 0 0 calc(28 * var(--room-u) * 1px) !important;
  margin: 0 !important;
  padding: 0 !important;
}

html:not(.is-mobile) #app .game-page.default-game-root > .video-and-bet {
  height: calc(390 * var(--room-u) * 1px) !important;
  min-height: calc(390 * var(--room-u) * 1px) !important;
  max-height: calc(390 * var(--room-u) * 1px) !important;
  flex: 0 0 calc(390 * var(--room-u) * 1px) !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

html:not(.is-mobile) #app .game-page.default-game-root .game-left,
html:not(.is-mobile) #app .game-page.default-game-root .left-content {
  height: 100% !important;
  max-height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
}

/* 视频高度 = 298 设计单位 */
html:not(.is-mobile) #app .game-page.default-game-root .video-placeholder,
html:not(.is-mobile) #app .game-page.default-game-root .video-wraps,
html:not(.is-mobile) #app .game-page.default-game-root .video-placeholder.video-wraps.room-scene {
  height: calc(298 * var(--room-u) * 1px) !important;
  min-height: calc(298 * var(--room-u) * 1px) !important;
  max-height: calc(298 * var(--room-u) * 1px) !important;
  flex: 0 0 calc(298 * var(--room-u) * 1px) !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 换台+公告 = 92 = 390-298，不再被 flex 撑高 */
html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice {
  height: calc(92 * var(--room-u) * 1px) !important;
  min-height: calc(92 * var(--room-u) * 1px) !important;
  max-height: calc(92 * var(--room-u) * 1px) !important;
  flex: 0 0 calc(92 * var(--room-u) * 1px) !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* 换台区 = 72 (92-20)，封顶避免过高 */
html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice > .desk-switch,
html:not(.is-mobile) #app .game-page.default-game-root .desk-switch {
  flex: 1 1 auto !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: calc(72 * var(--room-u) * 1px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* 公告 = 20，margin 全 0 → 下方无空位 */
html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice > .notice-wrap,
html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice > .urgent,
html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice > .urgent.notice-wrap {
  flex: 0 0 calc(20 * var(--room-u) * 1px) !important;
  height: calc(20 * var(--room-u) * 1px) !important;
  min-height: calc(20 * var(--room-u) * 1px) !important;
  max-height: calc(20 * var(--room-u) * 1px) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  bottom: auto !important;
  top: auto !important;
  order: 99 !important;
}

html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice .notice {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  margin: 0 calc(4 * var(--room-u) * 1px) !important;
  padding: 0 !important;
  line-height: calc(20 * var(--room-u) * 1px) !important;
}

html:not(.is-mobile) #app .game-page.default-game-root .tables-and-notice .urgent-track {
  height: calc(20 * var(--room-u) * 1px) !important;
  line-height: calc(20 * var(--room-u) * 1px) !important;
}

html:not(.is-mobile) #app .game-page.default-game-root > .video-and-bet .bet-panel,
html:not(.is-mobile) #app .game-page.default-game-root > .video-and-bet .right-content {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
}

/* 顶栏字体加粗（最终覆盖，不改视频高度） */
html:not(.is-mobile) #app .game-page.default-game-root .game-head .game-info,
html:not(.is-mobile) #app .game-page.default-game-root .game-head .game-info label {
  font-weight: 700 !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .game-head .game-info b {
  font-weight: 800 !important;
}

/* 下注区：闲对/和/庄对/闲/庄（及龙虎）全部字重 400 */
html:not(.is-mobile) #app .game-page.default-game-root .bet-zones button,
html:not(.is-mobile) #app .game-page.default-game-root .bet-group button {
  font-weight: 400 !important;
}

/* 筹码层级：旋转 z1 < 筹码图 z2 < 金额 z3 */
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip {
  isolation: isolate !important;
  overflow: visible !important;
  background-image: none !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip.selected:after {
  z-index: 1 !important;
  top: -3px !important;
  left: -2px !important;
  bottom: auto !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip:before,
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip.selected:before {
  z-index: 2 !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  inset: auto !important;
  left: 0 !important;
  top: 0 !important;
  animation: none !important;
  -webkit-animation: none !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip,
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip.selected {
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .chips .chip .chip-num {
  position: relative !important;
  z-index: 3 !important;
}
/* 自定义右侧齿轮：圆内居中 */
html:not(.is-mobile) #app .game-page.default-game-root .chips .gear {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* =========================================================
 * 底部路单（公告 / 确定 下方）— 1:1 官方，白色区高清
 * 左统计 pc50 | 中 canvas 白底 | 右问路 pc30
 * ========================================================= */
html:not(.is-mobile) #app .game-page.default-game-root .game-road,
html:not(.is-mobile) #app .game-page.default-game-root .road-map-container {
  flex: 1 1 auto !important;
  height: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: solid calc(1px * var(--room-u)) rgba(0, 0, 0, 0.3) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  background: #fff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  grid-template-columns: none !important;
}

/* 左：开奖统计 */
html:not(.is-mobile) #app .game-page.default-game-root .road-totals,
html:not(.is-mobile) #app .game-page.default-game-root .road-totals.pc-pediction,
html:not(.is-mobile) #app .game-page.default-game-root .road-totals.rght {
  flex: 0 0 calc(50px * var(--room-u)) !important;
  width: calc(50px * var(--room-u)) !important;
  min-width: calc(50px * var(--room-u)) !important;
  max-width: calc(50px * var(--room-u)) !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-around !important;
  align-items: flex-start !important;
  background-image:
    linear-gradient(0deg, #a3954f, #4b4315 62%, #776c32 87%, #a3954f),
    linear-gradient(#3c2d17, #3c2d17) !important;
  background-blend-mode: normal, normal !important;
  background-color: transparent !important;
  border: solid calc(1px * var(--room-u)) #776c32 !important;
  box-sizing: border-box !important;
  color: #fff !important;
  overflow: hidden !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-totals .rt-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: calc(3px * var(--room-u)) !important;
  width: 100% !important;
  padding-left: calc(3px * var(--room-u)) !important;
  margin: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: calc(12px * var(--room-u)) !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-totals .rt-row i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: calc(16px * var(--room-u)) !important;
  height: calc(16px * var(--room-u)) !important;
  min-width: calc(16px * var(--room-u)) !important;
  border-radius: 50% !important;
  font: 400 calc(10px * var(--room-u)) / 1 "Microsoft YaHei", sans-serif !important;
  font-style: normal !important;
  color: #fff !important;
  box-shadow: none !important;
  border: 0 !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-totals .rt-row i.c-red { background: #c70004 !important; }
html:not(.is-mobile) #app .game-page.default-game-root .road-totals .rt-row i.c-blue { background: #0000fe !important; }
html:not(.is-mobile) #app .game-page.default-game-root .road-totals .rt-row i.c-green { background: #00c40c !important; }
html:not(.is-mobile) #app .game-page.default-game-root .road-totals .rt-row em {
  font-style: normal !important;
  color: #fff !important;
  font-size: calc(12px * var(--room-u)) !important;
  font-weight: 400 !important;
}

/* 中：白色路单 canvas（高清由 JS 设 devicePixelRatio） */
html:not(.is-mobile) #app .game-page.default-game-root .road-map-canvas,
html:not(.is-mobile) #app .game-page.default-game-root .road-map {
  flex: 1 1 auto !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  background: #fff !important;
  border: 0 !important;
  /* 位图已按 dpr 放大绘制，保持默认插值即可（圆点更顺滑） */
  image-rendering: auto;
}

/* 右：问路栏 */
html:not(.is-mobile) #app .game-page.default-game-root .road-side {
  flex: 0 0 calc(30px * var(--room-u)) !important;
  width: calc(30px * var(--room-u)) !important;
  min-width: calc(30px * var(--room-u)) !important;
  max-width: calc(30px * var(--room-u)) !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: transparent !important;
  border: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key,
html:not(.is-mobile) #app .game-page.default-game-root .road-key.pc-pediction,
html:not(.is-mobile) #app .game-page.default-game-root .road-key.lft {
  width: 100% !important;
  height: 100% !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background-image:
    linear-gradient(0deg, #a3954f, #4b4315 62%, #776c32 87%, #a3954f),
    linear-gradient(#3c2d17, #3c2d17) !important;
  background-blend-mode: normal, normal !important;
  background-color: transparent !important;
  border: solid calc(1px * var(--room-u)) #776c32 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
}
/* 压掉旧 absolute 图标 / 红蓝底（官方两侧均为金色底） */
html:not(.is-mobile) #app .game-page.default-game-root .road-key:after,
html:not(.is-mobile) #app .game-page.default-game-root .road-key > span,
html:not(.is-mobile) #app .game-page.default-game-root .road-key > i {
  display: none !important;
}
/*
 * 右下角官方竖排：
 *   庄
 *   ○ ● /   蓝
 *   ────
 *   闲
 *   ○ ● /   红
 */
html:not(.is-mobile) #app .game-page.default-game-root .road-key {
  justify-content: flex-start !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask {
  flex: 1 1 0 !important;
  width: 100% !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: calc(3px * var(--room-u)) 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: calc(3px * var(--room-u)) !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.banker,
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.player {
  background: transparent !important;
}
/* 中间分隔线 */
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-sep {
  flex: 0 0 1px !important;
  width: 70% !important;
  height: 1px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: rgba(60, 45, 23, 0.85) !important;
  border: 0 !important;
  box-shadow: 0 1px 0 rgba(163, 149, 79, 0.45) !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-label {
  display: block !important;
  flex: 0 0 auto !important;
  color: #fff !important;
  font: 400 calc(12px * var(--room-u)) / 1 "Microsoft YaHei", sans-serif !important;
  text-align: center !important;
  line-height: 1 !important;
}
/* 旧 rk-txt 隐藏 */
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-txt {
  display: none !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-icons {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  height: auto !important;
  gap: calc(4px * var(--room-u)) !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-icons i:before,
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-icons i:after {
  content: none !important;
  display: none !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-icons i {
  position: static !important;
  display: block !important;
  margin: 0 !important;
  left: auto !important;
  top: auto !important;
  width: calc(11px * var(--room-u)) !important;
  height: calc(11px * var(--room-u)) !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  overflow: hidden !important;
}
/* 庄 = 蓝 #0000fe；闲 = 红 #c70004（对照对方截图） */
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.banker .rk-icons i.ring {
  border-radius: 50% !important;
  border: 2px solid #0000fe !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.banker .rk-icons i.dot {
  border-radius: 50% !important;
  background: #0000fe !important;
  border: 0 !important;
  /* 高清圆点：抗锯齿更顺 */
  box-shadow: 0 0 0 0.5px #0000fe !important;
  transform: translateZ(0) !important;
}
/* / ：庄红 #c70004，闲蓝 #0000fe；实色圆角条，高清不发糊 */
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.banker .rk-icons i.slash {
  width: calc(2.5px * var(--room-u)) !important;
  height: calc(13px * var(--room-u)) !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: #c70004 !important;
  transform: rotate(-45deg) translateZ(0) !important;
  overflow: visible !important;
  box-shadow: none !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.player .rk-icons i.ring {
  border-radius: 50% !important;
  border: 2px solid #c70004 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.player .rk-icons i.dot {
  border-radius: 50% !important;
  background: #c70004 !important;
  border: 0 !important;
  box-shadow: 0 0 0 0.5px #c70004 !important;
  transform: translateZ(0) !important;
}
html:not(.is-mobile) #app .game-page.default-game-root .road-key .rk-ask.player .rk-icons i.slash {
  width: calc(2.5px * var(--room-u)) !important;
  height: calc(13px * var(--room-u)) !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: #0000fe !important;
  transform: rotate(-45deg) translateZ(0) !important;
  overflow: visible !important;
  box-shadow: none !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
