/**
 * 路单槽位与背景网格对齐（须在各路 layout.css 之后加载）
 * 每格 = step-x × step-y（含原 col/row gap），珠/统计落在格心
 */
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-cols"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-grid"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-plate"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-bar-row"] {
  gap: 0;
  height: var(--h5-road-block-h);
  max-height: var(--h5-road-block-h);
}
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-table"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-scroll"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-side-labels"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-left-plate"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-stat-road"] {
  height: var(--h5-road-block-h);
  max-height: var(--h5-road-block-h);
}
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-side-labels"] {
  gap: 0;
}
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-side-labels"] [class*="-road-rlab"] {
  width: 100% !important;
  max-width: 100% !important;
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  white-space: nowrap;
  letter-spacing: 0;
  line-height: 1.1;
}
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-col"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-plate-col"] {
  flex: 0 0 var(--h5-road-grid-step-x) !important;
  width: var(--h5-road-grid-step-x) !important;
  min-width: var(--h5-road-grid-step-x) !important;
  max-width: var(--h5-road-grid-step-x) !important;
  gap: 0 !important;
  height: var(--h5-road-block-h) !important;
  max-height: var(--h5-road-block-h) !important;
  align-items: center;
  box-sizing: border-box;
}
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-cell"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-mark"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-tile"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-rlab"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-plate-col"] > [class*="-road-bead"],
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-col"] > [class*="-road-bead"] {
  flex: 0 0 var(--h5-road-grid-step-y) !important;
  width: 100%;
  max-width: var(--h5-road-grid-step-x);
  height: var(--h5-road-grid-step-y) !important;
  min-height: var(--h5-road-grid-step-y) !important;
  max-height: var(--h5-road-grid-step-y) !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.ref-game.ref-skin[data-kind]:not([data-kind="bjl"]):not([data-kind="lfd"]) [class*="-road-panel"] [class*="-road-bead"] {
  width: auto !important;
  height: auto !important;
  max-width: min(100%, calc(var(--h5-road-grid-step-x) * 0.92));
  max-height: min(100%, calc(var(--h5-road-grid-step-y) * 0.92));
}
.ref-game.ref-skin[data-kind] [class*="-road-panel"] [class*="-road-bar-slot"] {
  flex: 0 0 var(--h5-road-grid-step-x) !important;
  width: var(--h5-road-grid-step-x) !important;
  min-width: var(--h5-road-grid-step-x) !important;
  max-width: var(--h5-road-grid-step-x) !important;
  height: var(--h5-road-block-h) !important;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  box-sizing: border-box;
}
/* 百家乐 / 龙虎：珠盘实心、大路空心，都按当前格子撑满（空心珠没有文字，不能 width:auto） */
.ref-game.ref-skin[data-kind="bjl"] [class*="-road-panel"] .bjl-road-cell > .bjl-road-bead,
.ref-game.ref-skin[data-kind="lfd"] [class*="-road-panel"] .lfd-road-cell > .lfd-road-bead {
  flex: 0 0 auto !important;
  width: 84% !important;
  height: 84% !important;
  max-width: 84% !important;
  max-height: 84% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 1;
  border-radius: 50%;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: max(11px, calc(var(--h5-road-grid-step-y) * 0.42));
  font-weight: 800;
  line-height: 1;
}
