html, body{
	font-family: arial;
	cursor: default;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-color: #016D29 !important;
}

#container{
	display: flex;
	justify-content: center;
	background-color: #016D29;
	min-height: calc(100vh - 200px); /* Fill viewport minus header/nav */
	padding: 20px;
	color: #fff;
	width: 100%;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
}


/*notification*/
#notification{
	position: absolute;
	width: 500px;
	height: 350px;
	background-color: #004055;
	z-index: 10;
	border: 8px solid #d3b201;
	border-radius: 12px;
	transition: 1s;
}

.nSpan{
	display: block;
	position: relative;
	top: 80px;
	font-size: 24px;
	text-align: center;
	line-height: 1.4;
	padding: 0 20px;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: #fff;
}

.nBtn{
	display: block;
	position: relative;
	top: 116px;
	left: 25%;
	width: 45%;
	padding: 10px;
	font-size: 32px;
	text-align: center;
	background-color: green;
	border-radius: 15px;
	box-shadow: 3px 4px rgb(0 0 0 / 25%);
	cursor: pointer;
	transition: .5s;
}

.nBtn:active{
	top: 118px;
	left: calc(25% + 2px);
	box-shadow: 1px 2px rgb(0 0 0 / 25%);
}

.nsWin{
	position:absolute;
	left: 4px;
}

.nsWinBlock{
	display: inline-block;
	font-size: 21px;
	border-right: 1px solid;
	border-left: 1px solid;
	padding-left: 40px;
	padding-right: 40px;
}
/*notification end*/

/*betting table*/
#betting_board{
	width: 500px;
    height: 315px;
	position: relative; /* Ensure it's in normal flow */
	z-index: 1; /* Lower z-index so table min display appears above */
	overflow: visible;
}

/* Dedicated layer so placed chips always render above the number grid & line-bet overlay */
#roulette_chip_layer {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 50;
	overflow: visible;
}

.bbtop{
	margin-left:2px;
}

.bbtoptwo{
	width: calc(50% - 8px);
	border: 1px solid;
	display: inline-block;
	padding: 12px 4px;
	margin-left: -2px;
	text-align: center;
	font-size:20px;
	font-weight: bold;
}

.number_board{
	margin-left: 1px;
}

.number_block{
	width: 39.94px;
    border: 1px solid;
    text-align: center;
    display: inline-block;
    margin: 0 -0.2px;
    padding: 32px 0px;
    min-height: 80px; /* Ensure consistent height for all blocks */
    box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.nbn{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 2px;
	transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

.bo3_board, .oto_board{
	width:620px;
	margin-left: 2px;
}

.bo3_block, .oto_block{
	border: 1px solid;
	display: inline-block;
	padding: 8px 5px;
	width: 160px;
	margin-left: -1.98px;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}

.oto_block{
	width: 121px;
	margin-left: -1.8px;
}

.number_0{
	position: absolute;
	border: 2px solid;
	margin-left: -57px;
	margin-top: -0.516px;
	padding: 60.275px 20px;
	border-bottom-left-radius: 0;
	border-top-left-radius: 100%;
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
	background-color: #016D29;
	cursor: pointer;
	height: 120.55px; /* Covers first 1.5 blocks (3, 2, and top half of 1) */
	box-sizing: border-box;
	z-index: 2;
	width: 57px;
}

.number_00{
	position: absolute;
	border: 2px solid;
	margin-left: -57px;
	margin-top: 120.034px;
	padding: 60.275px 20px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 100%;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	background-color: #016D29;
	cursor: pointer;
	height: 130px; /* Increased to extend fully to bottom of block "1" */
	box-sizing: border-box;
	z-index: 10;
	width: 57px;
	overflow: hidden;
}

.tt1_block{
	border: 2px solid;
	width: 65px;
	height: 96.5px;
	position: absolute;
	margin-left: 475px;
	margin-top: -96px;
}

.winning_lines{
	position: absolute;
	margin-top: -137px;
	width: 603px;
	height: 0;
	z-index: 15;
	pointer-events: none;
	overflow: visible;
	left: 0;
	top: 0;
}

.wlttb{
	position: relative;
	width: 100%;
    height: 10px;
    margin-left: -7.75px;
	top: 269px;
	pointer-events: none;
}

#wlttb_top{
    position: absolute;
    margin-top: -89px;
    margin-left: 11px;
    z-index: 20;
}

#wlttb_2, #wlttb_3{
    margin-top: 79px;
}

.wlrtl{
	position: relative;
    display: inline-block;
    width: 10px;
    height: 266px;
    top: -3px;
    margin-left: 37px;
	pointer-events: none;
}

#wlrtl_2, #wlrtl_3, #wlrtl_6, #wlrtl_9, #wlrtl_11{
	margin-left: 31px;
}
#wlrtl_4, #wlrtl_5, #wlrtl_7, #wlrtl_8, #wlrtl_10{
	margin-left: 32px;
}

.wlcb{
	position: absolute;
	width: 477px;
	height: 41px;
	top: 255px;
	margin-left: 13px;
	pointer-events: none;
	z-index: 20;
}

#wlcb_2{
	top: 343px;
}

.cbbb{
    width: 20px;
    height: 20px;
    position: relative;
	display: inline-block;
	margin-left: 22px;
	margin-top: 9.5px;
	cursor: default;
	pointer-events: none;
	z-index: 20;
	box-sizing: border-box;
}

#cbbb_1, #cbbb_4, #cbbb_5, #cbbb_7, #cbbb_9, #cbbb_11, #cbbb_12, #cbbb_15, #cbbb_16, #cbbb_18, #cbbb_20, #cbbb_22{
	margin-left: 21px;
}

#cbbb_3, #cbbb_14{
	margin-left: 20.5px;
}

#cbbb_6, #cbbb_17{
	margin-left: 23px;
}

#cbbb_8, #cbbb_10, #cbbb_19, #cbbb_21{
	margin-left: 22px;
}

.ttbbetblock{
	width: 19.1px;
	height: 10px;
	position: relative;
	display: inline-block;
	margin-left: 22.52px;
	top: -2px;
	cursor: default;
	z-index: 20;
	pointer-events: none;
	box-sizing: border-box;
}

#wlttb_top .ttbbetblock{
	height: 14px;
	top: -6px;
}

#wlttb_3 .ttbbetblock{
	height: 14px;
	top: -6px;
}

.rtlbb1, .rtlbb2, .rtlbb3{
	height: 45px;
    margin-top: 23px;
	width: 10px;
	margin-left: -3px;
	pointer-events: none;
	z-index: 20;
	cursor: default;
	position: relative;
	box-sizing: border-box;
}

.rtlbb2, .rtlbb3{
	margin-top: 42px;
}

/* Expanded invisible hit targets on grid dividers / intersections */
.winning_lines .cbbb.roulette-bet-cell::before,
.winning_lines .ttbbetblock.roulette-bet-cell::before,
.winning_lines .rtlbb1.roulette-bet-cell::before,
.winning_lines .rtlbb2.roulette-bet-cell::before,
.winning_lines .rtlbb3.roulette-bet-cell::before {
	content: '';
	position: absolute;
	z-index: -1;
}

.winning_lines .cbbb.roulette-bet-cell::before {
	left: -8px;
	top: -8px;
	right: -8px;
	bottom: -8px;
}

.winning_lines .ttbbetblock.roulette-bet-cell::before {
	left: -6px;
	top: -10px;
	right: -6px;
	bottom: -10px;
}

#wlttb_top .ttbbetblock.roulette-bet-cell::before {
	top: -14px;
	bottom: -14px;
}

#wlttb_3 .ttbbetblock.roulette-bet-cell::before {
	top: -12px;
	bottom: -12px;
}

.winning_lines .rtlbb1.roulette-bet-cell::before,
.winning_lines .rtlbb2.roulette-bet-cell::before,
.winning_lines .rtlbb3.roulette-bet-cell::before {
	left: -10px;
	top: -4px;
	right: -10px;
	bottom: -4px;
}

/* Active bet shading — full cell tint, numbers stay visible */
.roulette-bet-cell.roulette-number-covered,
.roulette-bet-cell.roulette-bet-active {
	position: relative;
	z-index: 3;
}

.roulette-bet-cell.roulette-number-covered:not(.redNum):not(.blackNum),
.roulette-bet-cell.roulette-bet-active:not(.redNum):not(.blackNum) {
	box-shadow: inset 0 0 0 9999px rgba(255, 215, 0, 0.42);
}

.redNum.roulette-number-covered,
.redNum.roulette-bet-active,
.blackNum.roulette-number-covered,
.blackNum.roulette-bet-active {
	box-shadow: inset 0 0 0 3px #ffd700, inset 0 0 0 9999px rgba(255, 215, 0, 0.14);
}

.roulette-bet-cell.roulette-number-covered > .chip,
.roulette-bet-cell.roulette-bet-active > .chip {
	position: relative;
	z-index: 1;
}

/* Corner/split line cells are invisible hit targets centered on grid seams */
.roulette-bet-cell:not(.number_0):not(.number_00):not(.tt1_block) {
	position: relative;
}

.number_0.roulette-bet-cell,
.number_00.roulette-bet-cell,
.tt1_block.roulette-bet-cell {
	position: absolute;
}

.roulette-bet-cell > .chip {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0 !important;
	z-index: 4;
	cursor: grab;
	touch-action: none;
}

/* Unified bet cells: centered chips */
.winning_lines .cbbb.roulette-bet-cell,
.winning_lines .ttbbetblock.roulette-bet-cell,
.winning_lines .rtlbb1.roulette-bet-cell,
.winning_lines .rtlbb2.roulette-bet-cell,
.winning_lines .rtlbb3.roulette-bet-cell {
	background: transparent;
}

.winning_lines .cbbb.roulette-bet-cell > .chip {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0 !important;
}

.winning_lines .ttbbetblock.roulette-bet-cell > .chip,
.winning_lines .rtlbb1.roulette-bet-cell > .chip,
.winning_lines .rtlbb2.roulette-bet-cell > .chip,
.winning_lines .rtlbb3.roulette-bet-cell > .chip {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0 !important;
}

.number_block.roulette-bet-cell > .chip {
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	margin: 0 !important;
}

.tt1_block.roulette-bet-cell > .chip {
	left: 0;
	top: 0;
	transform: none;
	margin-left: 19px !important;
	margin-top: 0 !important;
}

.roulette-bet-cell.roulette-drag-source > .chip {
	opacity: 0.35;
}

body.roulette-chip-dragging {
	user-select: none;
	-webkit-user-select: none;
}

.roulette-drag-chip {
	position: fixed;
	width: 28px;
	height: 28px;
	border-radius: 100%;
	border: 5px solid;
	background-color: #fff;
	z-index: 10000;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

.roulette-drag-chip .chipSpan {
	color: #6b6b6b;
	font-weight: bold;
	font-size: 8px;
	display: block;
	text-align: center;
	padding-top: 4px;
}

.spinBtn{
	position: absolute;
	margin-top: 315px;
	margin-left: -392px;
	font-size: 15px;
	cursor: pointer;
	background-color: #ffec00;
	padding: 10px 5px;
	border-radius: 100%;
	color: #000;
	font-weight: bold;
}

.redNum{
	background-color: #E0080B;
}

.blackNum{
	background-color: #000;
}

.chipDeck, .bankContainer{
	position: absolute;
	margin-left: -383px;
	margin-top: -74px;
	width: 310px;
	height:55px;
	padding: 3px 0;
	border: 1px solid;
	border-radius: 10px;
	box-shadow: inset -2px -4px rgb(0 0 0 / 20%);
}

.bankContainer{
	margin-top: -21px;
}

/* Chip Deck Buttons - Add spacing to prevent overlap with Table Minimum */
.chip-deck-buttons {
    margin-bottom: 0; /* Default - will be overridden by media queries */
}

.cdChip{
	width: 35px;
    height: 35px;
    background-color: #fff;
    border: 5px solid;
    border-radius: 100%;
    display: inline-block;
    margin-left: 9px;
    color: #000;
	cursor: pointer;
}

.cdChipSpan{
	display: inherit;
	position: relative;
	top: 2px;
	width: 26px;
	font-weight: bold;
	font-size: 13px;
	text-align: center;
}

.cdChipActive{
	position: relative;
	top: -4px;
	box-shadow: 0 4px rgb(0 0 0 / 20%);
	animation: chipShine 2s ease-in-out infinite;
}

@keyframes chipShine {
	0%, 100% {
		box-shadow: 0 4px rgb(0 0 0 / 20%), 0 0 10px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.3);
		transform: scale(1);
	}
	50% {
		box-shadow: 0 4px rgb(0 0 0 / 20%), 0 0 20px rgba(255, 255, 255, 0.9), 0 0 30px rgba(255, 255, 255, 0.6), 0 0 40px rgba(255, 255, 255, 0.4);
		transform: scale(1.05);
	}
}

/* Animated chips for payouts */
.animated-chip {
	position: fixed;
	z-index: 9999;
	transition: all 0.8s ease-in-out;
	pointer-events: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 4px solid #4d4d4d;
	background-color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 12px;
	color: black;
	box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

.animated-chip.chip-win {
	border-color: #28a745;
	background: linear-gradient(135deg, #d4edda 0%, #ffffff 50%, #d4edda 100%);
	box-shadow: 0 0 15px rgba(40, 167, 69, 0.6);
}

.animated-chip.chip-loss {
	border-color: #dc3545;
	background: linear-gradient(135deg, #f8d7da 0%, #ffffff 50%, #f8d7da 100%);
}

.losing-bet {
	opacity: 0.85;
	transition: opacity 0.3s ease;
}

@keyframes rouletteWinPulse {
	0%, 100% {
		box-shadow: inset 0 0 0 9999px rgba(76, 175, 80, 0.38);
	}
	50% {
		box-shadow: inset 0 0 0 9999px rgba(129, 199, 132, 0.62);
	}
}

@keyframes rouletteChipWinPulse {
	0%, 100% {
		box-shadow: 0 0 6px rgba(76, 175, 80, 0.55), 0 0 14px rgba(76, 175, 80, 0.35);
		transform: translate(-50%, -50%) scale(1);
	}
	50% {
		box-shadow: 0 0 12px rgba(76, 175, 80, 0.95), 0 0 22px rgba(129, 199, 132, 0.55);
		transform: translate(-50%, -50%) scale(1.06);
	}
}

.roulette-bet-cell.roulette-win-pulse:not(.redNum):not(.blackNum) {
	animation: rouletteWinPulse 0.85s ease-in-out infinite;
	z-index: 6;
}

.redNum.roulette-win-pulse,
.blackNum.roulette-win-pulse {
	animation: rouletteWinPulseColor 0.85s ease-in-out infinite;
	z-index: 6;
}

@keyframes rouletteWinPulseColor {
	0%, 100% {
		box-shadow: inset 0 0 0 3px rgba(76, 175, 80, 0.75), inset 0 0 0 9999px rgba(76, 175, 80, 0.12);
	}
	50% {
		box-shadow: inset 0 0 0 3px rgba(129, 199, 132, 0.95), inset 0 0 0 9999px rgba(76, 175, 80, 0.22);
	}
}

#betting_board .chip.roulette-win-pulse,
#roulette_chip_layer .chip.roulette-win-pulse {
	animation: rouletteChipWinPulse 0.85s ease-in-out infinite;
	z-index: 55;
}

.animated-chip.chip-1 { border-color: rgb(77, 184, 255); }
.animated-chip.chip-5 { border-color: red; }
.animated-chip.chip-25 { border-color: green; }
.animated-chip.chip-100 { border-color: rgb(20, 20, 20); }

.clearBet{
	border-color:red;
	background-color:red;
	color:#fff;
	margin-left:22px;
}

.clearBet .cdChipSpan{
	margin-left:-2px;
}

.repeatBet{
	border-color: #6c757d;
	background-color: #6c757d;
	color: #fff;
}

.repeatBet:hover{
	background-color: #5a6268;
	border-color: #5a6268;
	transform: translateY(-1px);
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
}

.repeatBet .cdChipSpan{
	color: #fff;
}

.cdChip.purpleChip{
	width: 35px;
    height: 35px;
    background-color: #fff;
    border: 5px solid #9c27b0;
    border-radius: 100%;
    display: inline-block;
    margin-left: 9px;
    color: #000;
	cursor: pointer;
}

.cdChip.yellowChip{
	width: 35px;
    height: 35px;
    background-color: #fff;
    border: 5px solid #ffc107;
    border-radius: 100%;
    display: inline-block;
    margin-left: 9px;
    color: #000;
	cursor: pointer;
}

.cdChip.yellowChip .cdChipSpan{
	font-size: 11px;
}

.bank, .bet{
	display: inline-block;
	width: calc(50% - 28px);
    background-color: #000;
    font-size: 18px;
    margin-left: 7px;
    padding: 5px;
    border: 4px solid silver;
    border-radius: 7px;
    text-align: right;
}

.pnBlock{
	position: absolute;
	border: 1px solid;
	width: 500px;
	height: 55px;
	margin-top: 10px;
	margin-left: -1px;
}

#pnContent{
	border: 4px solid #d5b714;
	width: 485px;
	height: 40px;
	position: relative;
	display: block;
	margin-left: 4px;
	margin-top: 3px;
	background-color: transparent;
	color: #000;
	overflow:hidden;
}

.pnRed, .pnBlack, .pnGreen{
	position: relative;
	display: inline;
	padding:10px;
	font-size: 19px;
	font-weight: bold;
	top: 5px;
}.pnRed{
	color: red;
}.pnBlack{
	color: black;
}.pnGreen{
	color: green;
}
/*betting table end*/

/*wheel*/
@keyframes wheelRotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(359deg);
	}
}
@keyframes ballRotate {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(-359deg);
	}
}

.wheel {
	height: 312px;
	width: 312px;
	position: relative;
	left: -75px;
}

.ballTrack{
	width: 212px;
	height: 207px;
	position: absolute;
	left: 47.5px;
	top: 50px;
	border-radius: 100%;
	z-index:2;
}

.ball{
	background-color: #fff;
	width: 16px;
	height: 16px;
	border-radius: 100%;
	position: relative;
	left: 109px;
	top: -8px;
}

.turret{
	border-radius: 100%;
	background: radial-gradient( circle at 30% 30%, #f3c620, #1a1608 );
	width: 45px;
	height: 45px;
	position: absolute;
	top: 133px;
	left: 134px;
}

.turretHandle{
	background: radial-gradient( circle at 44%, #f3c620, #6a570f);
	width: 87px;
	height: 14px;
	position: absolute;
	left: 113px;
	top: 148px;
}

.thendOne, .thendTwo{
	border-radius: 100%;
	background: radial-gradient( circle at 30% 30%, #f3c620, #1a1608 );
	width: 25px;
	height: 25px;
	position: absolute;
}

.thendOne{
	top: -6px;
	left: -20px;
}

.thendTwo{
	top: -6px;
	left: 83px;
}

.outerRim {
	position: absolute;
	left:0;
	top:0;
	width: 310px;
	height: 310px;
	border-radius: 100%;
	box-shadow: 0px 0px 8px rgba(0,0,0,0.5);
	border: 10px solid #F3c620;
}

.block {
	transition: all 1s;
	position: absolute;
	width: 290px;
	height: 290px;
	border-radius: 100%;
	clip: rect(0px, 145px, 290px, 0px);
}

.sect {
	position: absolute;
	top:10px;
	left:10px;
	width: 290px;
	height: 290px;
	border-radius: 100%;
	clip: rect(0px, 290px, 290px, 145px);
}

.double, .single{
	position: absolute;
	z-index: 1;
	color: #fff;
	font-size: 14px;
	transform: rotate(3deg);
}

.double{
	left: 148px;
	margin-top: 4.5px;
}

.single{
	left: 152px;
	margin-top: 4.5px;
}

/* Special styling for 00 (double zero) to center it properly */
#sect20 .single {
	left: 147px;
	letter-spacing: 1px;
}

/* Green sections: 0 (sect1) and 00 (sect20) */
#sect1 .block, #sect20 .block {
	background-color: #016D29;
	transform:rotate(9.47deg);
}

/* Red sections based on wheel order: 9(sect3), 30(sect5), 7(sect7), 32(sect9), 5(sect11), 34(sect13), 3(sect15), 36(sect17), 1(sect19), 27(sect21), 25(sect23), 12(sect25), 19(sect27), 18(sect29), 21(sect31), 16(sect33), 23(sect35), 14(sect37) */
#sect3 .block, #sect5 .block, #sect7 .block, #sect9 .block, #sect11 .block, #sect13 .block, #sect15 .block, #sect17 .block, #sect19 .block, #sect21 .block, #sect23 .block, #sect25 .block, #sect27 .block, #sect29 .block, #sect31 .block, #sect33 .block, #sect35 .block, #sect37 .block {
	background-color: #E0080B;
	transform: rotate(9.47deg);
}

/* Black sections based on wheel order: 28(sect2), 26(sect4), 11(sect6), 20(sect8), 17(sect10), 22(sect12), 15(sect14), 24(sect16), 13(sect18), 10(sect22), 29(sect24), 8(sect26), 31(sect28), 6(sect30), 33(sect32), 4(sect34), 35(sect36), 2(sect38) */
#sect2 .block, #sect4 .block, #sect6 .block, #sect8 .block, #sect10 .block, #sect12 .block, #sect14 .block, #sect16 .block, #sect18 .block, #sect22 .block, #sect24 .block, #sect26 .block, #sect28 .block, #sect30 .block, #sect32 .block, #sect34 .block, #sect36 .block, #sect38 .block {
	background-color: #000;
	transform: rotate(9.47deg);
}

#sect1 {
	transform: rotate(0.00deg);
}

#sect2 {
	transform: rotate(9.47deg);
}

#sect3 {
	transform: rotate(18.95deg);
}

#sect4 {
	transform: rotate(28.42deg);
}

#sect5 {
	transform: rotate(37.89deg);
}

#sect6 {
	transform: rotate(47.37deg);
}

#sect7 {
	transform: rotate(56.84deg);
}

#sect8 {
	transform: rotate(66.32deg);
}

#sect9 {
	transform: rotate(75.79deg);
}

#sect10 {
	transform: rotate(85.26deg);
}

#sect11 {
	transform: rotate(94.74deg);
}

#sect12 {
	transform: rotate(104.21deg);
}

#sect13 {
	transform: rotate(113.68deg);
}

#sect14 {
	transform: rotate(123.16deg);
}

#sect15 {
	transform: rotate(132.63deg);
}

#sect16 {
	transform: rotate(142.11deg);
}

#sect17 {
	transform: rotate(151.58deg);
}

#sect18 {
	transform: rotate(161.05deg);
}

#sect19 {
	transform: rotate(170.53deg);
}

#sect20 {
	transform: rotate(180.00deg);
}

#sect21 {
	transform: rotate(189.47deg);
}

#sect22 {
	transform: rotate(198.95deg);
}

#sect23 {
	transform: rotate(208.42deg);
}

#sect24 {
	transform: rotate(217.89deg);
}

#sect25 {
	transform: rotate(227.37deg);
}

#sect26 {
	transform: rotate(236.84deg);
}

#sect27 {
	transform: rotate(246.32deg);
}

#sect28 {
	transform: rotate(255.79deg);
}

#sect29 {
	transform: rotate(265.26deg);
}

#sect30 {
	transform: rotate(274.74deg);
}

#sect31 {
	transform: rotate(284.21deg);
}

#sect32 {
	transform: rotate(293.68deg);
}

#sect33 {
	transform: rotate(303.16deg);
}

#sect34 {
	transform: rotate(312.63deg);
}

#sect35 {
	transform: rotate(322.11deg);
}

#sect36 {
	transform: rotate(331.58deg);
}

#sect37 {
	transform: rotate(341.05deg);
}

#sect38 {
	transform: rotate(350.53deg);
}

.pockets {
	position: absolute;
	top: 37px;
	left: 37px;
	width: 235px;
	height: 235px;
	background-color: #000;
	border-radius: 100%;
	opacity: .5;
}

.pocketsRim {
	position: absolute;
	top: 34px;
	left: 34px;
	width: 235px;
	height: 235px;
	border-radius: 100%;
	border: 3px solid silver;
}

.cone {
	position: absolute;
	top: 62px;
	left: 61px;
	height: 180px;
	width: 180px;
	border: 3px solid #9f9a9a;
	border-radius: 100%;
	background: radial-gradient(circle at 100px 100px, #892c10, #000);
}
/*wheel end*/

/*chip*/
.chip{
    width: 28px;
	height: 28px;
	background-color:#fff;
	border: 5px solid;
	border-radius: 100%;
    position:absolute;
}

#betting_board > .chip[data-bet-key],
#roulette_chip_layer > .chip[data-bet-key] {
	pointer-events: auto;
	z-index: 50;
	cursor: grab;
	touch-action: none;
}

#betting_board > .chip[data-chip-stack-index] {
	pointer-events: auto;
}

.chipSpan{
	color: #6b6b6b;
	font-weight: bold;
	font-size: 8px;
	position: relative;
	display: block;
	text-align: center;
	top: 4px;
}

.blueChip{
	border-color:rgb(77, 184, 255);
}

.red{
	border-color:red;
}

.green{
	border-color:green;
}

.blue{
	border-color:blue;
}

.black{
	border-color:rgb(20, 20, 20);
}

.chip.purpleChip{
	border-color: #9c27b0;
}

.chip.yellowChip{
	border-color: #ffc107;
}

/*chip end*/

/* Mobile Responsive Styles - Scale desktop layout to fit */
/* Keep wheel on LEFT of betting board (traditional layout) */

@media (max-width: 1024px) {
	#container {
		transform: scale(0.85);
		transform-origin: top left;
		width: 117.6%; /* 100% / 0.85 */
		min-height: calc((100vh - 200px) / 0.85);
		flex-direction: row; /* Keep wheel on left */
		flex-wrap: wrap;
	}

	.ev-section-wrapper {
		flex-basis: 100%;
		width: 100%;
		margin-top: 15px;
	}
}

@media (max-width: 768px) {
	#container {
		transform: scale(0.6);
		transform-origin: top left;
		width: 166.7%; /* 100% / 0.6 */
		min-height: calc((100vh - 200px) / 0.6);
		flex-wrap: wrap;
	}

	.ev-section-wrapper {
		flex-basis: 100%;
		width: 100%;
		margin-top: 10px;
	}

	#notification {
		transform: scale(1.5); /* Scale notification back up for readability */
		transform-origin: center center;
	}
}

@media (max-width: 600px) {
	#container {
		transform: scale(0.48);
		transform-origin: top left;
		width: 208.3%; /* 100% / 0.48 */
		min-height: calc((100vh - 200px) / 0.48);
	}

	#notification {
		transform: scale(1.8);
		transform-origin: center center;
	}
}

@media (max-width: 480px) {
	#container {
		transform: scale(0.4);
		transform-origin: top left;
		width: 250%; /* 100% / 0.4 */
		min-height: calc((100vh - 200px) / 0.4);
	}

	#notification {
		transform: scale(2);
		transform-origin: center center;
	}
}

@media (max-width: 380px) {
	#container {
		transform: scale(0.33);
		transform-origin: top left;
		width: 303%; /* 100% / 0.33 */
		min-height: calc((100vh - 200px) / 0.33);
	}

	#notification {
		transform: scale(2.5);
		transform-origin: center center;
	}
}

/* ============================================== */
/* LANDSCAPE ORIENTATION STYLES                   */
/* Scale desktop layout to fit landscape screens   */
/* ============================================== */

/* Landscape - Tablets and larger devices */
@media (orientation: landscape) and (min-width: 1024px) {
	#container {
		transform: scale(0.95);
		transform-origin: top left;
		width: 105.3%; /* 100% / 0.95 */
		min-height: calc((100vh - 200px) / 0.95);
	}
}

/* Landscape - Large tablets */
@media (orientation: landscape) and (min-width: 768px) and (max-width: 1023px) {
	#container {
		transform: scale(0.85);
		transform-origin: top left;
		width: 117.6%; /* 100% / 0.85 */
		min-height: calc((100vh - 200px) / 0.85);
	}

	#notification {
		transform: scale(1.2); /* Scale notification back up for readability */
		transform-origin: center center;
	}
}

/* Landscape - Large phones and small tablets */
@media (orientation: landscape) and (min-width: 600px) and (max-width: 767px) {
	#container {
		transform: scale(0.7);
		transform-origin: top left;
		width: 142.9%; /* 100% / 0.7 */
		min-height: calc((100vh - 200px) / 0.7);
	}

	#notification {
		transform: scale(1.4); /* Scale notification back up for readability */
		transform-origin: center center;
	}
}

/* Landscape - Medium phones */
@media (orientation: landscape) and (min-width: 480px) and (max-width: 599px) {
	#container {
		transform: scale(0.6);
		transform-origin: top left;
		width: 166.7%; /* 100% / 0.6 */
		min-height: calc((100vh - 200px) / 0.6);
	}

	#notification {
		transform: scale(1.7); /* Scale notification back up for readability */
		transform-origin: center center;
	}
}

/* Landscape - Small phones */
@media (orientation: landscape) and (max-width: 479px) {
	#container {
		transform: scale(0.5);
		transform-origin: top left;
		width: 200%; /* 100% / 0.5 */
		min-height: calc((100vh - 200px) / 0.5);
	}

	#notification {
		transform: scale(2); /* Scale notification back up for readability */
		transform-origin: center center;
	}
}

/* ============================================== */
/* PORTRAIT ORIENTATION STYLES                    */
/* Stack wheel on top, board below, controls last */
/* ============================================== */

@media (orientation: portrait) and (max-width: 1024px) {
	/* Stop scaling the entire app; scale key blocks instead */
	#container {
		transform: none !important;
		width: 100% !important;
		min-height: calc(100vh - 200px);
		padding: 12px 10px;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 4px;
		overflow-x: hidden;
	}

	/* Scale using wrappers so wheel rotation transform isn't overridden */
	.roulette-wheel-wrapper,
	.roulette-board-wrapper {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.roulette-wheel-wrapper {
		transform-origin: top center;
	}

	.roulette-board-wrapper {
		transform-origin: top center;
		/* Reduce wheel->board gap in portrait */
		margin-top: -18px;
		margin-bottom: 1px;
	}

	/* Make the board flow vertically and allow controls to sit below it */
	#betting_board {
		height: auto !important;
		position: relative;
		margin: 0 auto;
	}

	/* Wheel needs to be centered (but keep its own rotate animation) */
	.wheel {
		left: 0 !important;
		margin: 0 auto;
	}

	/* Portrait controls panel under the board */
	.roulette-portrait-controls {
		width: 100%;
		max-width: 420px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 6px;
		margin: 0 auto;
		margin-top: 1px;
	}

	/* Action buttons row: Repeat | Clear | Spin (Spin on right) */
	.roulette-action-row {
		width: 100%;
		max-width: 420px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		margin: 0 auto;
		/* Reserve space so buttons can hide/show without shifting layout */
		min-height: 44px;
	}

	/* Three even columns: left (repeat), center (clear), right (spin) */
	.roulette-action-row > * {
		flex: 1 1 0;
		display: flex;
		align-items: center;
	}
	.roulette-action-row > *:first-child { justify-content: flex-start; }
	.roulette-action-row > *:nth-child(2) { justify-content: center; }
	.roulette-action-row > *:last-child { justify-content: flex-end; }

	.roulette-action-row .spinBtn {
		min-width: 72px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: static !important;
	}

	.roulette-action-row .cdChip {
		position: static !important;
	}

	/* Hidden state keeps layout space */
	.roulette-action-row .is-hidden {
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	.roulette-action-row .chip-deck-buttons {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center !important;
		gap: 10px !important;
		margin: 0 !important;
		padding: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	.roulette-action-row .spinBtn {
		margin: 0 !important;
	}

	.roulette-portrait-controls .chipDeck,
	.roulette-portrait-controls .bankContainer {
		position: static !important;
		margin: 0 auto !important;
		margin-top: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 360px;
		height: auto !important;
	}

	.roulette-portrait-controls .chip-deck-buttons {
		position: static !important;
		margin: 0 auto !important;
		width: 100% !important;
		max-width: 360px;
		justify-content: center !important;
		margin-left: 0 !important;
		z-index: auto !important;
	}

	.roulette-portrait-controls .pnBlock {
		width: 100%;
		max-width: 420px;
		position: static !important;
		margin: 0 auto !important;
		margin-top: 0 !important;
	}

	/* Spin button should sit below betting areas/controls */
	.roulette-portrait-controls .spinBtn,
	.spinBtn.roulette-spin-portrait {
		position: static !important;
		margin: 0 auto !important;
	}

	/* Table minimum + EV sections should sit below everything */
	.ev-section-wrapper {
		margin-top: 6px !important;
		padding-top: 0 !important;
	}

	.table-min-display {
		margin-top: 0 !important;
		margin-bottom: 4px !important;
		padding: 6px 8px !important;
	}

	.ev-mobile-section {
		margin-top: 4px !important;
		padding: 8px !important;
	}

	/* Prevent wrapper/controls from colliding with scaled board */
	.roulette-board-wrapper {
		margin-bottom: 1px;
	}

	.roulette-portrait-controls {
		padding-top: 4px;
	}
}

@media (orientation: portrait) and (max-width: 768px) {
	.roulette-wheel-wrapper {
		transform: scale(0.92);
	}

	.roulette-board-wrapper {
		transform: scale(0.72);
	}

	/* Board scale leaves layout gap; pull controls up a bit */
	.roulette-portrait-controls {
		margin-top: -95px;
	}
}

@media (orientation: portrait) and (max-width: 480px) {
	.roulette-wheel-wrapper {
		transform: scale(0.86);
	}

	.roulette-board-wrapper {
		transform: scale(0.62);
	}

	.roulette-portrait-controls {
		margin-top: -135px;
	}
}

/* --- EV Calculator Styles --- */
.controls-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
    margin-bottom: 5px;
    margin-top: 25px; /* Increased margin to move below roll history */
    clear: both; /* Ensure it's below the betting board */
}

/* Mobile: Show combined view at bottom, hide split view */
.ev-category-section,
.ev-total-section {
    display: none;
}

.ev-mobile-section {
    display: block;
    width: 100%;
    margin-top: 15px;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    flex-shrink: 0;
    max-height: 250px;
    overflow-y: auto;
}

.ev-section-wrapper {
    width: 100%;
    flex-basis: 100%;
    margin-top: 60px; /* Increased default spacing */
    clear: both;
    padding-top: 10px; /* Small padding for extra spacing */
}

.table-min-display {
    width: 100%;
    text-align: center;
    padding: clamp(6px, 1vh, 12px) clamp(8px, 2vw, 16px);
    margin-top: 80px; /* Reasonable default spacing */
    margin-bottom: clamp(6px, 1vh, 12px);
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    flex-shrink: 0;
    position: relative;
    z-index: 10;
    font-size: clamp(12px, 2vw, 16px);
}

/* Desktop: Move table minimum down more */
@media (min-width: 1024px) and (max-width: 1400px) {
    .table-min-display {
        margin-top: 100px !important; /* Increased to prevent overlap but keep visible */
    }

    .ev-section-wrapper {
        margin-top: 60px !important; /* Increased spacing for wrapper */
    }
}

/* Large desktop displays */
@media (min-width: 1401px) {
    .table-min-display {
        margin-top: 100px;
    }
}

/* Smaller desktop/laptop displays: Add more spacing to prevent overlap */
@media (min-width: 768px) and (max-width: 1023px) {
    .table-min-display {
        margin-top: 120px !important; /* Increased to prevent overlap but keep visible */
    }

    .ev-section-wrapper {
        margin-top: 80px !important; /* Increased spacing for wrapper */
        padding-top: 20px !important; /* Additional padding */
    }

    /* Add margin-bottom to chip deck buttons container for extra spacing */
    .chip-deck-buttons {
        margin-bottom: 60px !important; /* Increased spacing */
    }
}

/* Medium desktop displays: Add spacing */
@media (min-width: 900px) and (max-width: 1200px) {
    .table-min-display {
        margin-top: 100px !important; /* Increased to prevent overlap but keep visible */
    }

    .ev-section-wrapper {
        margin-top: 70px !important; /* Increased spacing for wrapper */
    }
}

/* Mobile: Move table minimum up much higher */
@media (max-width: 767px) {
    .table-min-display {
        margin-top: 10px;
    }
}

/* Mobile Portrait: Move Table Minimum and EV sections even closer to game elements */
@media (max-width: 768px) and (orientation: portrait) {
    .ev-section-wrapper {
        margin-top: 5px;
    }

    .table-min-display {
        margin-top: 5px;
        margin-bottom: 5px;
    }

    .ev-mobile-section {
        margin-top: 5px;
    }
}

.ev-section-title {
    font-size: 1em;
    font-weight: bold;
    margin-bottom: 8px;
    color: #fff;
}

.ev-category-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ev-category-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    font-size: 0.9em;
    margin-bottom: 4px;
}

.ev-category-name {
    flex: 1;
    font-weight: 500;
}

.ev-category-values {
    display: flex;
    gap: 15px;
}

.ev-category-ev,
.ev-category-edge {
    min-width: 90px;
    text-align: right;
    font-weight: 500;
}

.ev-total-display {
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.ev-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 1em;
}

.ev-label {
    font-weight: 500;
}

.ev-value {
    font-weight: bold;
    color: #ffec00;
}

/* Desktop/Landscape: Show split view, hide mobile view */
@media (min-width: 1024px) and (orientation: landscape) {
    .controls-wrapper {
        flex-direction: row;
        align-items: flex-start;
        gap: 6px;
        flex-shrink: 0;
        margin-bottom: 2px;
    }

    .ev-category-section {
        display: block;
        flex: 1;
        min-width: 0;
        padding: 5px;
        background-color: rgba(0, 0, 0, 0.2);
        border-radius: 8px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        max-height: 160px;
        min-height: 90px;
        overflow-y: auto;
        flex-shrink: 0;
    }

    .ev-total-section {
        display: block;
        flex: 1;
        min-width: 0;
        padding: 5px;
        background-color: rgba(0, 0, 0, 0.2);
        border-radius: 8px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        flex-shrink: 0;
        max-height: 160px;
        overflow-y: auto;
    }

    .ev-mobile-section {
        display: none;
    }

    .ev-section-title {
        font-size: 0.85em;
        margin-bottom: 5px;
    }

    .ev-category-item {
        padding: 4px 6px;
        font-size: 0.75em;
    }

    .ev-category-list {
        gap: 3px;
    }

    .ev-total-display {
        padding: 6px;
    }

    .ev-total-row {
        padding: 4px 0;
        font-size: 0.9em;
    }
}

/* Smaller desktop/laptop screens */
@media (min-width: 768px) and (max-width: 1023px) {
    .ev-category-section,
    .ev-total-section {
        display: none;
    }

    .ev-mobile-section {
        display: block;
        margin-top: 2px;
        padding: 5px;
        max-height: 120px;
        overflow-y: auto;
        margin-bottom: 3px;
    }

    .ev-category-item {
        padding: 3px 5px;
        font-size: 0.7em;
    }

    .ev-category-list {
        gap: 2px;
    }

    .ev-total-display {
        padding: 6px;
        margin-top: 3px;
    }

    .ev-total-row {
        padding: 3px 0;
        font-size: 0.85em;
	}
}
