/* =========================================================
   ROULETTE REBUILT CLEAN CSS
   - keeps current site working
   - REBET / X2 / CLEAR on right side
   - preserves chips and wheel positioning
   - bottom preset aligned to main table like target
   ========================================================= */

.game-area.roulette-mobile-switch,
.game-area.roulette-mobile-switch .container-fluid,
.game-area.roulette-mobile-switch .game-area-content,
.game-area.roulette-mobile-switch .game-area-body {
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
}

.game-roulette {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 10px !important;
}

@media screen and (min-width: 768px) {
  .game-roulette {
    grid-template-rows: auto auto !important;
  }

  .game-roulette-column.wheel,
  .game-roulette-column.betting {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .game-roulette-wheel__body {
    min-height: 120px !important;
    height: 120px !important;
  }

  .roulette-wheel {
    margin: 0 auto -70px !important;
  }
}

.game-roulette-column.betting,
.game-roulette-main,
.game-roulette-main__body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.roulette-board-wrap {
  margin-top: 112px !important;
}

@media screen and (max-width: 991px) {
  .roulette-board-wrap {
    margin-top: 96px !important;
  }
}

@media screen and (max-width: 767px) {
  .roulette-board-wrap {
    margin-top: 20px !important;
  }
}

/* =========================================================
   TOP RIGHT TIMER
   - moved a little more right
   - seconds only
   ========================================================= */

.game-roulette-wheel-top__wrapper {
  position: relative !important;
}

.roulette-top-timer {
  position: absolute !important;
  top: -8px !important;
  right: -620px !important;
  z-index: 20 !important;
  margin: 0 !important;
}

.roulette-top-timer__value {
  min-width: 102px !important;
  width: 102px !important;
  height: 60px !important;
  padding: 0 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  font-size: 46px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;

 background: #d4b000 !important;
  color: #ffffff !important;
}

.roulette-top-timer__value.is-safe {
  background: #148a1f !important;
  color: #ffffff !important;
}

.roulette-top-timer__value.is-danger {
  background: #b30000 !important;
  color: #ffffff !important;
}
.roulette-top-timer__value .spinMinute,
.roulette-top-timer__value span:nth-child(2) {
  display: none !important;
}

.roulette-top-timer__value .spinSecond {
  display: inline-block !important;
}

@media screen and (max-width: 991px) {
  .roulette-top-timer {
    top: -4px !important;
    right: -210px !important;
  }

  .roulette-top-timer__value {
    min-width: 90px !important;
    width: 90px !important;
    height: 52px !important;
    font-size: 38px !important;
    padding: 0 6px !important;
  }
}

@media screen and (max-width: 767px) {
  .roulette-top-timer {
    position: relative !important;
    top: 0 !important;
    right: 0 !important;
  }

  .roulette-top-timer__value {
    min-width: 72px !important;
    width: 72px !important;
    height: 40px !important;
    font-size: 24px !important;
    padding: 0 6px !important;
  }
}





/* =========================================================
   WINNING NUMBER DISPLAY + TABLE MARKER
   ========================================================= */

.game-roulette-wheel__header,
.game-roulette-wheel-top,
.game-roulette-wheel-top__wrapper,
.game-roulette-main__header {
  position: relative !important;
  overflow: visible !important;
}

.game-roulette-wheel-top {
  display: flex !important;
  align-items: flex-start !important;
}

.roulette-winning-box {
  position: absolute !important;
  left: -128px !important;
  right: auto !important;
  top: 8px !important;
  z-index: 35 !important;
  width: 96px !important;
  height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, #050505 0%, #000000 100%) !important;
  border: 2px solid rgba(255,255,255,.82) !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.30) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(6px) !important;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease, background .18s ease !important;
}

.roulette-winning-box.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.roulette-winning-box.is-red {
  background: linear-gradient(180deg, #7b0909 0%, #b30f0f 100%) !important;
}

.roulette-winning-box.is-black {
  background: linear-gradient(180deg, #050505 0%, #111111 100%) !important;
}

.roulette-winning-box.is-green {
  background: linear-gradient(180deg, #0e6d1d 0%, #1c9b31 100%) !important;
}

.roulette-winning-box__value {
  font-size: 58px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  font-family: Georgia, "Times New Roman", serif !important;
}

.winning-cell {
  position: relative !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.45) !important;
}

.winning-marker-chip {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 30px !important;
  height: 34px !important;
  transform: translate(-50%, -50%) perspective(120px) rotateX(18deg) !important;
  transform-style: preserve-3d !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 12 !important;

  background:
    radial-gradient(circle at 50% 38%, #fdfdfd 0 24%, #ececec 24% 38%, transparent 38%),
    radial-gradient(circle at 50% 50%, #c58a3a 0 52%, #8a541f 52% 68%, #5f3713 68% 100%) !important;

  box-shadow:
    inset 0 2px 2px rgba(255,255,255,.75),
    inset 0 -3px 4px rgba(0,0,0,.22),
    0 3px 5px rgba(0,0,0,.28) !important;
}

.winning-marker-chip::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 6px !important;
  width: 18px !important;
  height: 18px !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;

  background:
    radial-gradient(circle at 50% 35%, #ffffff 0 45%, #ececec 45% 68%, #d6d6d6 68% 100%) !important;

  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.95),
    inset 0 -1px 2px rgba(0,0,0,.12) !important;
}

.winning-marker-chip::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 4px !important;
  width: 16px !important;
  height: 8px !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;

  background: linear-gradient(180deg, #a86a2d 0%, #6f4217 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.25),
    0 1px 2px rgba(0,0,0,.18) !important;
}

@media screen and (max-width: 1199px) {
  .roulette-winning-box {
    left: -112px !important;
    width: 84px !important;
    height: 84px !important;
  }

  .roulette-winning-box__value {
    font-size: 50px !important;
  }
 .winning-marker-chip {
    width: 28px !important;
    height: 32px !important;
    transform: translate(-50%, -50%) perspective(110px) rotateX(18deg) !important;
  }

  .winning-marker-chip::before {
    top: 5px !important;
    width: 16px !important;
    height: 16px !important;
  }

  .winning-marker-chip::after {
    bottom: 4px !important;
    width: 14px !important;
    height: 7px !important;
  }
}

@media screen and (max-width: 991px) {
  .roulette-winning-box {
    left: -88px !important;
    width: 72px !important;
    height: 72px !important;
  }

  .roulette-winning-box__value {
    font-size: 40px !important;
  }

 .winning-marker-chip {
    width: 26px !important;
    height: 30px !important;
    transform: translate(-50%, -50%) perspective(100px) rotateX(18deg) !important;
  }
 .winning-marker-chip::before {
    top: 5px !important;
    width: 15px !important;
    height: 15px !important;
  }

  .winning-marker-chip::after {
    bottom: 4px !important;
    width: 13px !important;
    height: 7px !important;
  }
}

@media screen and (max-width: 767px) {
  .roulette-winning-box {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    top: 0 !important;
    width: 64px !important;
    height: 64px !important;
    margin-right: 10px !important;
  }

  .roulette-winning-box__value {
    font-size: 34px !important;
  }

   .winning-marker-chip::before {
    top: 4px !important;
    width: 12px !important;
    height: 12px !important;
  }

  .winning-marker-chip::after {
    bottom: 3px !important;
    width: 10px !important;
    height: 6px !important;
  }
}


/* left chips */
.roulette-chip-sidebar,
.roulette-chip-sidebar .game-area-chips,
.roulette-chip-sidebar .game-area-chips--vertical {
  transform: translateY(-40px) !important;
}

/* right buttons */
.roulette-side-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: 92px !important;
  min-width: 92px !important;
  margin-top: -30px !important;
}

.roulette-side-btn {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
  min-height: 82px !important;
  border-radius: 50% !important;
  border: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  color: #fff !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
  transition: transform 0.2s ease, filter 0.2s ease !important;
  text-align: center !important;
}

.roulette-side-btn:hover {
  transform: scale(1.05) !important;
  filter: brightness(1.04) !important;
}

.roulette-side-btn__icon {
  font-size: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.roulette-side-btn__icon--x2 {
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.roulette-side-btn__text {
  font-size: 11px !important;
  line-height: 1.05 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.roulette-side-btn--blue .roulette-side-btn__text {
  font-size: 10px !important;
  margin-top: 1px !important;
}

.roulette-side-btn--danger .roulette-side-btn__text {
  font-size: 10px !important;
  margin-top: 1px !important;
}

.clear-bin-icon {
  width: 28px !important;
  height: 28px !important;
  display: block !important;
}

#recentBetsBtn,
.roulette-side-btn--recent {
  background: radial-gradient(circle at 30% 30%, #2eff2e, #00b800) !important;
}

#placeBetBtn,
.roulette-side-btn--double {
  background: radial-gradient(circle at 30% 30%, #2d6bff, #003bb5) !important;
  color: #fff !important;
}

#clearBetBtn,
.clear-btn,
.roulette-side-btn--clear {
  background: radial-gradient(circle at 30% 30%, #ff3b3b, #b80000) !important;
  color: #fff !important;
}

/* rebet panel */
.recent-bets-panel {
  position: absolute !important;
  right: 110px !important;
  top: 52% !important;
  transform: translateY(-50%) !important;
  z-index: 999 !important;
  display: none !important;
}

.recent-bets-panel.show {
  display: block !important;
}

.recent-bets-panel:not(.show) .recent-bets-empty {
  display: none !important;
}

.recent-bets-panel__body .recent-bets-empty {
  display: block;
}

body > .recent-bets-empty,
.roulette-board-wrap > .recent-bets-empty,
.game-roulette > .recent-bets-empty {
  display: none !important;
}

/* hide old bottom buttons */
.roulette-controls-layout,
.roulette-controls-layout--hidden,
.game-area-actions.roulette-controls-layout {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

footer,
.footer-area {
  display: block !important;
  position: relative !important;
  z-index: 2 !important;
  margin-top: 6px !important;
  padding-top: 8px !important;
}

@media screen and (max-width: 767px) {
  .roulette-side-actions,
  .recent-bets-panel {
    display: none !important;
  }
}

.game-roulette-board {
  position: relative !important;
gap: 0 !important;
}

/* =========================================================
   BOTTOM PRESET BLOCK
   rebuilt on the same columns as the main table
   ========================================================= */

.game-roulette-board {
  position: relative !important;
  gap: 0 !important;
}

.game-roulette-table {
  margin-bottom: 0 !important;
}

.game-roulette-preset {
  width: 100% !important;
  max-width: none !important;
  margin: -2px 0 0 0 !important;
  display: grid !important;
  grid-template-columns: 92px repeat(12, minmax(0, 1fr)) 74px !important;
  gap: 0 !important;
  position: relative !important;
  top: 0 !important;
  box-sizing: border-box !important;
}

.game-roulette-preset__item {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: 46px 52px !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.game-roulette-preset__item:nth-child(1) {
  grid-column: 2 / 6 !important;
}

.game-roulette-preset__item:nth-child(2) {
  grid-column: 6 / 10 !important;
}

.game-roulette-preset__item:nth-child(3) {
  grid-column: 10 / 14 !important;
}

.game-roulette-preset__item > .oneToTw,
.game-roulette-preset__item > .thrtToTf,
.game-roulette-preset__item > .twfToTs {
  grid-column: 1 / 3 !important;
  grid-row: 1 !important;
}

.game-roulette-preset__item > .oneToEt,
.game-roulette-preset__item > .red,
.game-roulette-preset__item > .odd {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

.game-roulette-preset__item > .even,
.game-roulette-preset__item > .black,
.game-roulette-preset__item > .nineteenTtsix {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.game-roulette-preset__item > .oneToTw,
.game-roulette-preset__item > .thrtToTf,
.game-roulette-preset__item > .twfToTs,
.game-roulette-preset__item > .oneToEt,
.game-roulette-preset__item > .even,
.game-roulette-preset__item > .red,
.game-roulette-preset__item > .black,
.game-roulette-preset__item > .odd,
.game-roulette-preset__item > .nineteenTtsix {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}

.game-roulette-preset__btn {
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255, 255, 255, .85) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #176f25 !important;
  box-sizing: border-box !important;
}

.game-roulette-preset__item > .oneToTw,
.game-roulette-preset__item > .thrtToTf,
.game-roulette-preset__item > .twfToTs {
  min-height: 46px !important;
  height: 46px !important;
}

.game-roulette-preset__btn .text {
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.diamond-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/*.diamond-btn .diamond-shape {
  display: inline-block !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  transform: rotate(45deg) !important;
  box-sizing: border-box !important;
  border: 1.5px solid rgba(255, 255, 255, .95) !important;
  flex: 0 0 30px !important;
}*/

.diamond-btn .diamond-shape {
  display: inline-block !important;

  /* 1. MANDATORY: Width and Height MUST be identical to form a diamond */
  width: 25px !important;
  height: 25px !important;
  min-width: 25px !important;
  min-height: 25px !important;

  /* 2. THE GEOMETRY FIX */
  /* rotate(45deg) makes it a diamond. */
  /* skew(10deg, 10deg) flattens the top and bottom to make it "wide". */
  /* scale(1.4) makes it large enough to see. */
  transform: rotate(-45deg) skew(15deg, 15deg) scale(1.4) !important;

  /* 3. YOUR ORIGINAL STYLING */
  box-sizing: border-box !important;
  border: 1.5px solid rgba(255, 255, 255, .95) !important;
  
  /* Prevent layout collapse */
  flex: 0 0 25px !important;
  margin: 5px !important;
}

/*----------------------*/
.diamond-btn .diamond-red {
  background: #c41414 !important;
}

.diamond-btn .diamond-black {
  background: #050505 !important;
}

@media screen and (max-width: 991px) {
  .game-roulette-preset {
    grid-template-columns: 70px repeat(12, minmax(0, 1fr)) 54px !important;
  }

  .game-roulette-preset__item {
    grid-template-rows: 38px 46px !important;
  }

  .game-roulette-preset__btn {
    min-height: 46px !important;
    height: 46px !important;
  }

  .game-roulette-preset__item > .oneToTw,
  .game-roulette-preset__item > .thrtToTf,
  .game-roulette-preset__item > .twfToTs {
    min-height: 38px !important;
    height: 38px !important;
  }

  .game-roulette-preset__btn .text {
    font-size: 11px !important;
  }

  .diamond-btn .diamond-shape {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    flex: 0 0 24px !important;
  }
}

@media screen and (max-width: 767px) {
  .game-roulette-preset {
    grid-template-columns: 56px repeat(12, minmax(28px, 1fr)) 42px !important;
  }

  .game-roulette-preset__item {
    grid-template-rows: 34px 40px !important;
  }

  .game-roulette-preset__btn {
    min-height: 40px !important;
    height: 40px !important;
  }

  .game-roulette-preset__item > .oneToTw,
  .game-roulette-preset__item > .thrtToTf,
  .game-roulette-preset__item > .twfToTs {
    min-height: 34px !important;
    height: 34px !important;
  }

  .game-roulette-preset__btn .text {
    font-size: 10px !important;
  }

  .diamond-btn .diamond-shape {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    flex: 0 0 20px !important;
  }
}
/* tighter version */
.game-roulette-table {
  grid-template-columns: 80px repeat(12, minmax(0, 1fr)) 60px !important;
  gap: 0 !important;
  margin: 0 !important;
  border-collapse: collapse !important;
}

.game-roulette-table__cell {
  border-width: 1px !important;
  margin: 0 !important;
  box-shadow: none !important;
}

.game-roulette-table__cell .text {
  letter-spacing: 0 !important;
}
@media screen and (max-width: 991px) {
  .game-roulette-table {
    grid-template-columns: 64px repeat(12, minmax(0, 1fr)) 48px !important;
    gap: 0 !important;
  }

  .game-roulette-table__cell {
    border-width: 1px !important;
  }

  .game-roulette-table__cell .text {
    letter-spacing: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .game-roulette-table {
    grid-template-columns: 52px repeat(12, minmax(24px, 1fr)) 40px !important;
    gap: 0 !important;
  }

  .game-roulette-table__cell {
    border-width: 1px !important;
  }

  .game-roulette-table__cell .text {
    letter-spacing: 0 !important;
  }
}

@media screen and (max-width: 480px) {
  .game-roulette-table {
    grid-template-columns: 44px repeat(12, minmax(20px, 1fr)) 34px !important;
    gap: 0 !important;
  }

  .game-roulette-table__cell {
    border-width: 1px !important;
  }

  .game-roulette-table__cell .text {
    letter-spacing: 0 !important;
  }

  .diamond-btn .diamond-shape {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;
    flex: 0 0 17px !important;
  }
}


/* =========================================================
   COUNTER RIGHT + TABLE NO-GAP FIX
   ========================================================= */

.game-roulette-board,
.game-roulette-table,
.game-roulette-preset {
  gap: 0 !important;
}

.game-roulette-table {
  align-items: stretch !important;
}

.game-roulette-table__cell {
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.game-roulette-table__cell + .game-roulette-table__cell {
  margin-left: 0 !important;
}


/* =========================================================
   HOVER LIGHT ANIMATION
   ========================================================= */

.game-roulette-table__cell,
.game-roulette-preset__btn {
  transition:
    filter 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease,
    background-color 0.18s ease !important;
  position: relative !important;
  overflow: hidden !important;
}

.game-roulette-table__cell::after,
.game-roulette-preset__btn::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,255,255,0.28) 0%,
      rgba(255,255,255,0.14) 35%,
      rgba(255,255,255,0.00) 72%) !important;
  opacity: 0 !important;
  transition: opacity 0.18s ease !important;
  pointer-events: none !important;
}

.game-roulette-table__cell.cell-highlighted,
.game-roulette-preset__btn.cell-highlighted {
  filter: brightness(1.2) saturate(1.08) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.55),
    0 0 10px rgba(255,255,255,0.10) !important;
}

.game-roulette-table__cell.cell-highlighted::after,
.game-roulette-preset__btn.cell-highlighted::after {
  opacity: 1 !important;
}

.game-roulette-table__cell.highlighted,
.game-roulette-preset__btn.highlighted {
  filter: brightness(1.34) saturate(1.14) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.72),
    0 0 14px rgba(255,255,255,0.16) !important;
  z-index: 3 !important;
}

.game-roulette-table__cell.highlighted::after,
.game-roulette-preset__btn.highlighted::after {
  opacity: 1 !important;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,255,255,0.38) 0%,
      rgba(255,255,255,0.18) 36%,
      rgba(255,255,255,0.00) 74%) !important;
}

.game-roulette-table__cell .text,
.game-roulette-preset__btn .text {
  position: relative !important;
  z-index: 2 !important;
  transition:
    color 0.18s ease,
    text-shadow 0.18s ease !important;
}

.game-roulette-table__cell.cell-highlighted .text,
.game-roulette-table__cell.highlighted .text,
.game-roulette-preset__btn.cell-highlighted .text,
.game-roulette-preset__btn.highlighted .text {
  text-shadow:
    0 0 6px rgba(255,255,255,0.28),
    0 0 10px rgba(255,255,255,0.16) !important;
}

.game-roulette-preset__btn .diamond-shape {
  position: relative !important;
  z-index: 2 !important;
  transition:
    filter 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.game-roulette-preset__btn.cell-highlighted .diamond-shape {
  filter: brightness(1.18) !important;
  box-shadow: 0 0 8px rgba(255,255,255,0.16) !important;
}

.game-roulette-preset__btn.highlighted .diamond-shape {
  filter: brightness(1.28) !important;
  box-shadow: 0 0 12px rgba(255,255,255,0.24) !important;
}

@keyframes rouletteCellGlowPulse {
  0% { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.48), 0 0 8px rgba(255,255,255,0.08); }
  50% { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.68), 0 0 14px rgba(255,255,255,0.16); }
  100% { box-shadow: inset 0 0 0 1px rgba(255,255,255,0.48), 0 0 8px rgba(255,255,255,0.08); }
}

.game-roulette-table__cell.winning-cell {
  animation: rouletteCellGlowPulse 1.2s ease-in-out infinite !important;
}


/* =========================================================
   FIX 2TO1 VISUAL ORDER TO MATCH LOGIC
   ========================================================= */

.game-roulette-table__cell.twByOne1 {
  grid-column: 14 !important;
  grid-row: 1 !important;
}

.game-roulette-table__cell.twByOne2 {
  grid-column: 14 !important;
  grid-row: 2 !important;
}

.game-roulette-table__cell.twByOne3 {
  grid-column: 14 !important;
  grid-row: 3 !important;
}



/* undo button / rebet swap */
.roulette-side-btn.is-hidden {
  display: none !important;
}

.roulette-side-btn--undo {
  background: radial-gradient(circle at 30% 30%, #ff4a4a, #b80000) !important;
  color: #fff !important;
}

.undo-arrow-icon {
  width: 30px !important;
  height: 30px !important;
  display: block !important;
}


/* =========================================================
   HISTORY PANEL
   ========================================================= */

.roulette-wheel-column-with-history,
.game-roulette-wheel,
.game-roulette-wheel__body {
  position: relative !important;
  overflow: visible !important;
}

.roulette-history-panel {
  position: absolute !important;
  right: -120px !important;
  top: -6px !important;
  width: 88px !important;
  padding: 5px 7px 9px !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, #9a9ca1 0%, #d5d7db 42%, #8d8f95 100%) !important;
  border: 1px solid rgba(42,42,42,.58) !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.26) !important;
  z-index: 30 !important;
}

.roulette-history-panel::after {
  content: "" !important;
  position: absolute !important;
  top: 10px !important;
  right: 4px !important;
  width: 4px !important;
  height: calc(100% - 20px) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #e1e3e6 0%, #8e9096 100%) !important;
  box-shadow: inset 0 1px 1px rgba(255,255,255,.35), inset 0 -1px 1px rgba(0,0,0,.2) !important;
}

.roulette-history-panel__title {
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .25px !important;
  color: #f4fff2 !important;
  text-align: center !important;
  margin-bottom: 5px !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
}

.roulette-history-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-template-rows: repeat(6, 20px) !important;
  gap: 1px !important;
  padding-right: 8px !important;
  background: #8c8e93 !important;
  border: 1px solid rgba(60,60,60,.45) !important;
}

.roulette-history-cell {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #ffffff !important;
  background: #1b1b1b !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.25) !important;
}

.roulette-history-cell.is-red {
  background: #9d170d !important;
}

.roulette-history-cell.is-black {
  background: #121212 !important;
}

.roulette-history-cell.is-green {
  background: #17772b !important;
}

.roulette-history-cell.is-empty {
  background: #d2d4d8 !important;
  color: transparent !important;
}

@media screen and (max-width: 1399px) {
  .roulette-history-panel {
    right: -102px !important;
    width: 80px !important;
  }

  .roulette-history-grid {
    grid-template-rows: repeat(6, 18px) !important;
    padding-right: 7px !important;
  }

  .roulette-history-cell {
    font-size: 10px !important;
  }
}

@media screen and (max-width: 1199px) {
  .roulette-history-panel {
    right: -92px !important;
    top: 0 !important;
    width: 74px !important;
  }

  .roulette-history-panel__title {
    font-size: 9px !important;
  }

  .roulette-history-grid {
    grid-template-rows: repeat(6, 16px) !important;
    padding-right: 6px !important;
  }

  .roulette-history-cell {
    font-size: 9px !important;
  }
}

@media screen and (max-width: 991px) {
  .roulette-history-panel {
    display: none !important;
  }
}

.roulette-wheel-column-with-history,
.game-roulette-wheel,
.game-roulette-wheel__body {
  position: relative !important;
  overflow: visible !important;
}

.roulette-history-panel {
  position: absolute !important;
  right: -70px !important;
  top: 8px !important;
  width: 82px !important;
  z-index: 40 !important;
}

@media screen and (max-width: 1399px) {
  .roulette-history-panel {
    right: -58px !important;
    top: 8px !important;
    width: 78px !important;
  }
}

@media screen and (max-width: 1199px) {
  .roulette-history-panel {
    right: -44px !important;
    top: 10px !important;
    width: 72px !important;
  }
}

@media screen and (max-width: 991px) {
  .roulette-history-panel {
    display: none !important;
  }
}

.game-roulette-column.wheel,
.game-roulette-column.wheel .game-roulette-wheel,
.game-roulette-column.wheel .game-roulette-wheel__body {
  position: relative !important;
  overflow: visible !important;
}

.game-roulette-column.wheel .roulette-history-panel {
  position: absolute !important;
  top: 54px !important;
  right: 12px !important;
  left: auto !important;
  width: 82px !important;
  z-index: 999 !important;
  display: block !important;
}

.game-roulette-column.wheel .roulette-board-wrap {
  margin-top: 88px !important;
}

@media screen and (max-width: 1399px) {
  .game-roulette-column.wheel .roulette-history-panel {
    top: 58px !important;
    right: 8px !important;
    width: 76px !important;
  }
}

@media screen and (max-width: 1199px) {
  .game-roulette-column.wheel .roulette-history-panel {
    top: 62px !important;
    right: 6px !important;
    width: 70px !important;
  }

  .game-roulette-column.wheel .roulette-board-wrap {
    margin-top: 82px !important;
  }
}

@media screen and (max-width: 991px) {
  .game-roulette-column.wheel .roulette-history-panel {
    display: none !important;
  }
}

/* =========================================================
   V349 HISTORY COLOR COLUMNS + BIGGER TABLE
   ========================================================= */

/* Slightly bigger table on desktop only */
@media screen and (min-width: 1200px) {
  .roulette-board-wrap {
    transform: scale(1.04) !important;
    transform-origin: top center !important;
    width: calc(100% / 1.04) !important;
    margin-top: 102px !important;
  }

  .game-roulette-table__cell .text {
    font-size: 14px !important;
  }

  .game-roulette-preset__btn .text {
    font-size: 13px !important;
  }
}

/* Keep the history visible and aligned on large screens */
@media screen and (min-width: 1200px) {
  .roulette-history-panel {
    right: -110px !important;
    top: -2px !important;
    width: 86px !important;
  }
}
/* =========================================================
   ROULETTE VIEWPORT FIT - STABLE
   Keeps the roulette objects in their original relationship.
   The Blade script measures the available viewport and scales
   the complete .game-roulette block only when necessary.
   ========================================================= */

body:has(.roulette-page) {
  overflow: hidden !important;
}

body:has(.roulette-page) .page-wrapper,
body:has(.roulette-page) .game-area.roulette-mobile-switch {
  height: 100vh !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

body:has(.roulette-page) .game-area.roulette-mobile-switch,
body:has(.roulette-page) .game-area.roulette-mobile-switch .container-fluid,
body:has(.roulette-page) .game-area.roulette-mobile-switch .game-area-content,
body:has(.roulette-page) .game-area.roulette-mobile-switch .game-area-body {
  min-height: 0 !important;
}

body:has(.roulette-page) .game-area.roulette-mobile-switch .container-fluid,
body:has(.roulette-page) .game-area.roulette-mobile-switch .game-area-content,
body:has(.roulette-page) .game-area.roulette-mobile-switch .game-area-body {
  height: auto !important;
  overflow: visible !important;
}

body:has(.roulette-page) .game-area.roulette-mobile-switch .game-area-body {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

body:has(.roulette-page) .game-roulette {
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: scale(var(--roulette-fit-scale, 1)) !important;
  transform-origin: top center !important;
  will-change: transform !important;
}

body:has(.roulette-page) .game-area-content {
  height: var(--roulette-fit-height, auto) !important;
}

body:has(.roulette-page) footer,
body:has(.roulette-page) .footer-area {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 9999 !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(3, 8, 25, 0.96) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
}

/* Keep spin animation using the original wheel size.
   Do not cap .start or .running; those states need the original wheel CSS. */
body:has(.roulette-page) .roulette-wheel.start,
body:has(.roulette-page) .roulette-wheel.running {
  max-width: none !important;
  max-height: none !important;
}

@media screen and (max-width: 767px) {
  body:has(.roulette-page) {
    overflow-y: auto !important;
  }

  body:has(.roulette-page) .page-wrapper,
  body:has(.roulette-page) .game-area.roulette-mobile-switch {
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
  }

  body:has(.roulette-page) .game-roulette {
    transform: none !important;
    width: 100% !important;
  }

  body:has(.roulette-page) footer,
  body:has(.roulette-page) .footer-area {
    position: relative !important;
    height: auto !important;
    min-height: 44px !important;
  }
}

/* Result wheel fix: completed state is handled by JS, not CSS sizing. */
