/* The enlarged wheel hangs from the original layout's top-left edge.
   Only circular wood surrounds the bowl; the betting felt stays below. */
.roulette-connected-table{--wheel-rail-overlap:14px;--wheel-side-trim:14px;position:relative;display:block;min-height:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.roulette-connected-table .roulette-console{position:relative;display:grid;grid-template-columns:calc(var(--roulette-wheel-size) + 36px) minmax(0,1fr);align-items:center;gap:24px;margin:0 0 calc(-1 * var(--wheel-rail-overlap))}
/* Felt fills the two lower shoulders beside the wooden mount, stopping
   at the original table edge. It does not wrap around the upper wheel. */
.roulette-connected-table .roulette-console:before{content:'';position:absolute;left:0;top:50%;bottom:var(--wheel-rail-overlap);width:calc(var(--roulette-wheel-size) + 36px);border:1px solid #98744b;border-top:0;border-bottom:0;border-radius:0;background:linear-gradient(140deg,#4b3529,#211d1c 30%,#694a32 70%,#362a24);box-shadow:inset 5px 0 #1c1819,inset -5px 0 #1c1819;pointer-events:none}
.roulette-connected-table .roulette-console:after{content:'';position:absolute;left:calc(var(--wheel-side-trim) + 1px);top:50%;bottom:var(--wheel-rail-overlap);width:calc(var(--roulette-wheel-size) + 34px - 2 * var(--wheel-side-trim));border:2px solid #698571;border-top:0;border-bottom:0;border-radius:0;background:linear-gradient(#235f48,#1c503d);box-shadow:inset 0 0 16px #071c1740;pointer-events:none}
/* End the housing at the shared rail to avoid a second curved seam
   crossing the original rectangular table's perimeter. */
.roulette-connected-table .wheel-zone{position:relative;isolation:isolate;z-index:2;width:calc(var(--roulette-wheel-size) + 36px);height:calc(var(--roulette-wheel-size) + 36px);padding:17px;border:1px solid #98744b;border-radius:50%;background:linear-gradient(140deg,#745235,#30231d 35%,#684b32 70%,#3c2a20);box-shadow:inset 0 0 0 5px #241b17,0 5px 8px #0004;clip-path:inset(0 0 var(--wheel-rail-overlap) 0)}
.roulette-connected-table .wheel-zone:before{content:'';position:absolute;z-index:-1;left:17%;right:17%;top:72%;bottom:calc(var(--wheel-rail-overlap) - 1px);border:1px solid #98744b;border-top:0;border-bottom:0;background:linear-gradient(140deg,#4b3529,#36281f 55%,#694a32);box-shadow:inset 5px 0 #1c1819,inset -5px 0 #1c1819;pointer-events:none}
.roulette-connected-table .wheel-zone:after{content:none}
.roulette-connected-table .wheel-wood{box-shadow:0 0 0 3px #bc9560,0 0 0 9px #2d211b,0 0 0 11px #98744b80,0 4px 8px #0006,inset 0 0 0 6px #261d1e}
.roulette-connected-table .roulette-room-brand{display:block;text-align:center;min-width:0;padding:15px 20px}
.roulette-connected-table .roulette-room-brand .table-brand{color:#b8d3b766}
.roulette-connected-table .wheel-result{margin-top:28px;min-height:32px;font-size:12px;line-height:1.6}
.roulette-connected-table .roulette-table-rail{position:relative;z-index:1;width:100%;padding:14px;background:linear-gradient(140deg,#4b3529,#211d1c 30%,#694a32 70%,#362a24);border:1px solid #98744b;border-radius:0 40px 70px 70px;box-shadow:inset 0 0 0 5px #1c1819,0 18px 30px #0004}
.roulette-connected-table .roulette-betting-felt{padding:18px 23px 27px;background:linear-gradient(#1c503d 12%,#235f48 85%,#1b4a37);border:2px solid #698571;border-radius:0 29px 57px 57px;box-shadow:inset 0 -5px 20px #071c1780}
.roulette-connected-table .felt-caption{font-size:8px;letter-spacing:.16em}
.roulette-connected-table .roulette-payout-note{font-size:10px;display:flex;gap:12px;justify-content:space-between;line-height:1.6}
.roulette-connected-table .roulette-payout-note span{display:inline}
/* The larger ball keeps its original center and radial animation path. */
.roulette-connected-table .roulette-ball{width:12.5px;height:12.5px;left:calc(50% - 6.25px);top:17.75px}
.roulette-connected-table .ball-landed .roulette-ball{top:17.75px}
@media(max-width:1100px) and (min-width:761px){
 .roulette-connected-table .roulette-console{gap:12px}
 .roulette-connected-table .roulette-room-brand{padding:10px 4px}
 .roulette-connected-table .roulette-room-brand .table-brand{font-size:14px;letter-spacing:.13em}
}
@media(max-width:760px){
 .roulette-room{padding-bottom:60px}
 .roulette-connected-table{--wheel-rail-overlap:8px;--wheel-side-trim:8px}
 .roulette-connected-table .roulette-console{grid-template-columns:1fr;gap:0}
 .roulette-connected-table .roulette-room-brand{display:block;position:absolute;left:0;right:0;bottom:-42px;padding:0}
 .roulette-connected-table .roulette-room-brand .table-brand,.roulette-connected-table .roulette-room-brand .table-chip-stack{display:none}
 .roulette-connected-table .wheel-result{margin:0;max-width:none;min-height:32px}
 .roulette-connected-table .roulette-table-rail{padding:8px;border-radius:0 23px 40px 40px}
 .roulette-connected-table .roulette-betting-felt{padding:12px 5px 18px;border-radius:0 18px 32px 32px}
 .roulette-connected-table .felt-caption{font-size:6px;letter-spacing:.07em}
 .roulette-connected-table .roulette-payout-note{display:block;font-size:8px;text-align:center;margin-top:12px}
}

/* Twenty percent more width with the previous height budget. Only the
   geometry spreads horizontally; balls, pins and labels keep their shape. */
.plinko-board{width:min(100%,calc((100dvh - 390px)*1.3824),1236px)}
.plinko-scene circle,.plinko-ball ellipse,.plinko-scene text{transform-box:fill-box;transform-origin:center;transform:scaleX(.8333333333)}
@media(max-height:800px) and (min-width:761px){
 .plinko-board{width:min(100%,calc((100dvh - 310px)*1.3824),888px)}
}
@media(max-width:760px){
 .plinko-board{width:min(100%,calc((100dvh - 220px)*1.3824))}
}
