/* Sweden Codes — grounded game environments, 2026-10-25. */

/* originals-grounding.css */
/* Grounded Originals environments, 2026-10-25.
   No Wheel selectors. All new supports are decorative; controller transforms,
   pick targets, state classes and round/reveal timing remain unchanged. */

/* Carry the environment to the foreground instead of dissolving it beneath the game. */
#coModal[data-game="mines"] .co-playfield::before,
#coModal[data-game="towers"] .co-playfield::before,
#coModal[data-game="dice"] .co-playfield::before,
#coModal[data-game="keno"] .co-playfield::before,
#coModal[data-game="limbo"] .co-playfield::before,
#coModal[data-game="coinflip"] .co-playfield::before,
#coModal[data-game="baccarat"] .co-playfield::before { background: none; }

#coModal[data-game="mines"] .co-stage {
  background: #101f19;
}
#coModal[data-game="mines"] .co-stage::before {
  content: "";
  inset: 0;
  z-index: -1;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, #0b191bcc, #0b191b24 20%, #0a1d1321 88%, rgb(var(--co-surface-rgb)) 100%),
    linear-gradient(90deg, #0c191a70, transparent 20%, transparent 80%, #0c191a70),
    url('/assets/casino-scenes-20261021/mines-cavern.webp') center 52% / cover no-repeat;
}
#coModal[data-game="towers"] .co-stage { background: #221e15; }
#coModal[data-game="towers"] .co-stage::before {
  content: "";
  inset: 0;
  z-index: -1;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, #1b1914a6, #201a1026 22%, #231c1226 88%, rgb(var(--co-surface-rgb)) 100%),
    linear-gradient(90deg, #19191466, transparent 18%, transparent 82%, #19191466),
    url('/assets/casino-scenes-20261021/towers-sanctum.webp') center 48% / cover no-repeat;
}

/* The salon supplies an uninterrupted felt table and the same room light for each object. */
#coModal[data-game="dice"] .co-stage,
#coModal[data-game="keno"] .co-stage,
#coModal[data-game="coinflip"] .co-stage { background: #142820; }
#coModal[data-game="dice"] .co-stage::before,
#coModal[data-game="keno"] .co-stage::before,
#coModal[data-game="coinflip"] .co-stage::before {
  content: "";
  inset: 0 0 -90px;
  z-index: -1;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, #121c18ad, #10251c26 28%, #10251c14 calc(100% - 130px), rgb(var(--co-surface-rgb)) calc(100% - 90px)),
    linear-gradient(90deg, #14241d80, transparent 21%, transparent 81%, #14241d80),
    url('/assets/casino-scenes-20261023/wheel-salon.webp') center top / cover no-repeat;
}
#coModal[data-game="keno"] .co-stage::before {
  background-image:
    linear-gradient(180deg, #181823bf, #18252238 28%, #10251c21 calc(100% - 130px), rgb(var(--co-surface-rgb)) calc(100% - 90px)),
    linear-gradient(90deg, #171c258c, transparent 21%, transparent 81%, #171c258c),
    url('/assets/casino-scenes-20261023/wheel-salon.webp');
}
/* Fix the table horizon independently of photo cropping: the pad always sits on felt. */
#coModal[data-game="dice"] .co-stage::before {
  --co-dice-rail-y: 90px;
  --co-dice-felt-y: calc(var(--co-dice-rail-y) + 10px);
  background:
    linear-gradient(180deg, #121c188c, #10251c0a 28%, #10251c14 calc(100% - 130px), rgb(var(--co-surface-rgb)) calc(100% - 90px)),
    linear-gradient(90deg, #0d211b75, transparent 21%, transparent 81%, #0d211b75),
    linear-gradient(180deg, #ad8956, #634629 18%, #342619 60%, #a1834e 77%, #14261b) center var(--co-dice-rail-y) / 100% 10px no-repeat,
    linear-gradient(180deg, #1b4031c7, #0e281cd9) center var(--co-dice-felt-y) / 100% calc(100% - var(--co-dice-felt-y)) no-repeat,
    url('/assets/casino-materials-20261022/felt.webp') center var(--co-dice-felt-y) / 256px calc(100% - var(--co-dice-felt-y)) repeat-x,
    url('/assets/casino-scenes-20261023/wheel-salon.webp') center top / cover no-repeat;
}

/* MINES — one excavated stone bed supports all twenty-five existing stone covers. */
#coModal[data-game="mines"] .co-mines-frame {
  position: relative;
  isolation: isolate;
  background: none;
  border-color: transparent;
  box-shadow: none;
}
#coModal[data-game="mines"] .co-mines-frame::before {
  content: "";
  position: absolute;
  inset: -11px -12px -16px;
  z-index: -1;
  pointer-events: none;
  background: url('/assets/casino-scenes-20261025/stone-foundation.webp') center / 100% 100% no-repeat;
  filter: brightness(.8) saturate(.75) drop-shadow(2px 6px 2px #020e08e6) drop-shadow(7px 14px 11px #010905a6);
}
#coModal[data-game="mines"] .co-mines-grid {
  background: radial-gradient(ellipse at 30% 10%, #b3cf9a09, transparent 70%);
  box-shadow: 0 0 0 5px #07130b21, inset 0 4px 9px #020a055c;
}
#coModal[data-game="mines"] .co-board-caption {
  text-shadow: 0 1px 4px #010b07, 0 2px 10px #010b07;
}

/* TOWERS — a carved stone body and broad masonry footing, with the active route unchanged. */
#coModal[data-game="towers"] .co-tower-structure {
  isolation: isolate;
  background: none;
  border-color: transparent;
  box-shadow: none;
}
#coModal[data-game="towers"] .co-tower-structure::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -7px -7px -8px;
  background: url('/assets/casino-scenes-20261025/stone-foundation.webp') center / 100% 100% no-repeat;
  filter: sepia(.45) saturate(.75) brightness(.8) drop-shadow(2px 5px 1px #100c08cc);
  pointer-events: none;
}
#coModal[data-game="towers"] .co-tower-structure::after {
  content: "";
  position: absolute;
  z-index: -2;
  left: -3%;
  right: -6%;
  bottom: -24px;
  height: 32px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #080703e6 20%, #0b0906a3 45%, transparent 73%);
  pointer-events: none;
}
#coModal[data-game="towers"] .co-floor {
  background: linear-gradient(0deg, #0e0b0766, #b9a3790a 34%, transparent 72%);
  box-shadow: 0 2px 0 #161008ab, inset 0 -1px #dec69a2e;
}
#coModal[data-game="towers"] .co-floor.is-current {
  background: linear-gradient(0deg, #c49b3c38, #c49b3c09 65%, transparent);
  border-bottom-color: #efd396;
  box-shadow: 0 2px 0 #241a0a, 0 5px 9px -5px #e1ba5980;
}
#coModal[data-game="towers"] .co-tower-foundation {
  border-radius: 2px;
  border-top-color: #d5bc86a8;
  border-bottom-color: #2b2217;
  background:
    linear-gradient(180deg, #e5c8924d, #6d55334d 25%, #211a0fa3),
    url('/assets/casino-scenes-20261022/mines-stone.webp') center / 100% 280% no-repeat,
    #534732;
  box-shadow: inset 0 1px #e0cda675, 0 3px 0 #57442b, 0 8px 0 #282017, 2px 11px 5px #080603bd;
}
#coModal[data-game="towers"] .co-floor-odds {
  color: #d6c4a0;
  text-shadow: 0 1px 3px #0d0b05;
}
#coModal[data-game="towers"] .co-floor.is-current .co-floor-odds { color: #ffe1a6; }

/* DICE — the die makes contact with a shallow felt rolling pad, rather than hovering above it. */
#coModal[data-game="dice"] .co-die-space::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 91px;
  bottom: auto;
  left: -20px;
  right: -20px;
  height: 31px;
  border: 2px solid #9f8455;
  border-bottom: 5px solid #39291b;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 40% 30%, #28503d75, #0a291dc4 70%),
    url('/assets/casino-materials-20261022/felt.webp') center / 180px repeat,
    #173b2a;
  box-shadow: inset 0 1px 3px #02130be6, 0 1px 0 #c5a77175, 2px 4px 5px #04100bc4;
  pointer-events: none;
}
#coModal[data-game="dice"] .co-die-shadow {
  top: 102px;
  bottom: auto;
  left: 29px;
  width: 99px;
  height: 12px;
  background: radial-gradient(ellipse, #010604f2 12%, #010804ad 44%, transparent 73%);
  filter: blur(2px);
  opacity: .95;
}
#coModal[data-game="dice"] .co-dice-track {
  box-shadow: inset 0 3px 4px #000b, 0 1px #b5c6a170, 0 0 0 3px #182920, 0 0 0 4px #ad96635c, 2px 4px 5px #04110b99;
}
#coModal[data-game="dice"] .co-dice-score {
  text-shadow: 0 2px 4px #071c11;
}
#coModal[data-game="dice"] .co-dice .co-stat {
  background: #071c123d;
  border-color: #b9c1a233;
  box-shadow: inset 0 1px #e0e6c10d;
}

/* KENO — one recessed wooden console connects the ball rail, numbered plates and payout strip. */
#coModal[data-game="keno"] .co-keno-grid {
  --console-top: 110px;
  --console-bottom: 66px;
  position: relative;
  z-index: 1;
  isolation: isolate;
}
#coModal[data-game="keno"] .co-keno-grid::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: calc(-1 * var(--console-top)) -13px calc(-1 * var(--console-bottom));
  border: 10px solid transparent;
  border-radius: 15px 15px 10px 10px;
  background:
    linear-gradient(#27212ed9, #14151de6) padding-box,
    url('/assets/casino-materials-20261022/felt.webp') center / 220px repeat padding-box,
    linear-gradient(#161820, #12141a) padding-box,
    linear-gradient(130deg, #e2c38c38, #140b065c 80%) border-box,
    url('/assets/casino-materials-20261022/walnut.webp') center / cover border-box,
    #4f3826;
  box-shadow: inset 0 0 0 1px #d9bc7c5e, inset 0 2px 5px #09090e, 0 3px 0 #5d422c, 0 8px 0 #21170f, 5px 13px 13px #041008a8;
  pointer-events: none;
}
#coModal[data-game="keno"] .co-keno-grid::after {
  content: "";
  position: absolute;
  z-index: -2;
  left: -3%;
  right: -6%;
  bottom: calc(-1 * var(--console-bottom) - 18px);
  height: 27px;
  border-radius: 50%;
  background: radial-gradient(ellipse, #010705de 14%, #020c0691 45%, transparent 73%);
  pointer-events: none;
}
#coModal[data-game="keno"] .co-draw-tray {
  position: relative;
  z-index: 2;
  border-color: #9d876352;
  border-radius: 6px;
  background: linear-gradient(#0c0f18e6, #201c2bb3);
  box-shadow: inset 0 2px 5px #0009, 0 1px #dac59b38;
}
#coModal[data-game="keno"] .co-keno-payouts {
  position: relative;
  z-index: 2;
}
#coModal[data-game="keno"] .co-keno-payouts > span:not(.is-hit) {
  background: #080b132e;
  border-color: #c0b7c633;
}
#coModal[data-game="keno"] .co-board-topline {
  position: relative;
  z-index: 3;
}

/* COIN FLIP — a lined, weighted coin-rest tray and a contact groove under the rim. */
#coModal[data-game="coinflip"] .co-coin-plinth { isolation: isolate; }
#coModal[data-game="coinflip"] .co-coin-plinth::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 6%;
  right: 6%;
  bottom: 0;
  height: 38px;
  border: 3px solid #a58a52;
  border-bottom: 7px solid #39261b;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 35% 20%, #39523985, #142719e6 75%) padding-box,
    url('/assets/casino-materials-20261022/felt.webp') center / 210px repeat padding-box,
    #243626;
  box-shadow: inset 0 2px 3px #06120cdb, inset 0 -1px #d2b7704a, 0 2px 0 #a8895270, 2px 5px 2px #071008cc, 6px 9px 10px #06110b91;
  pointer-events: none;
}
#coModal[data-game="coinflip"] .co-coin-plinth::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 31%;
  right: 31%;
  bottom: 17px;
  height: 9px;
  border-radius: 50%;
  background: linear-gradient(#080f08db, #182214);
  box-shadow: inset 0 1px 2px #000b, 0 1px #bba27152;
  pointer-events: none;
}
#coModal[data-game="coinflip"] .co-coin-shadow {
  bottom: 12px;
  left: 23%;
  width: 54%;
  height: 13px;
  z-index: 1;
  background: #010a04;
  filter: blur(3px);
}
#coModal[data-game="coinflip"] .co-coinflip > .co-target-line {
  background: linear-gradient(140deg, #30402cba, #101f16cf);
  border-color: #b59a6347;
  box-shadow: inset 0 1px #c8bb8b1f, 0 2px 3px #06100987;
}

/* LIMBO — a continuous mountain horizon and fixed sightline under the moving trajectory. */
#coModal[data-game="limbo"] .co-stage { background: #102331; }
#coModal[data-game="limbo"] .co-stage::before {
  content: "";
  inset: 0;
  z-index: -1;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, #07152085, transparent 23%, #0715210d 90%, rgb(var(--co-surface-rgb)) 100%),
    linear-gradient(90deg, #0c1a2966, transparent 20%, transparent 80%, #0c1a2966),
    url('/assets/casino-scenes-20261021/limbo-horizon.webp') center 53% / cover no-repeat;
}
#coModal[data-game="limbo"] .co-limbo-instrument {
  background: radial-gradient(ellipse at 50% 32%, #07172238, transparent 68%);
}
#coModal[data-game="limbo"] .co-limbo-instrument::before {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 15%;
  height: 9px;
  border-bottom: 1px solid #a9c9c47a;
  background: repeating-linear-gradient(90deg, #bed5ca61 0, #bed5ca61 1px, transparent 1px, transparent 10%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 80%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 80%, transparent);
  pointer-events: none;
}
#coModal[data-game="limbo"] .co-limbo-grid {
  opacity: .48;
  -webkit-mask-image: linear-gradient(180deg, transparent, #0008 24%, #000 85%, transparent 93%);
  mask-image: linear-gradient(180deg, transparent, #0008 24%, #000 85%, transparent 93%);
}
#coModal[data-game="limbo"] .co-target-line {
  border-radius: 5px;
  border-color: #a3b5b363;
  border-bottom-color: #27363f;
  background: linear-gradient(155deg, #31434de6, #172a37ed);
  box-shadow: inset 0 1px #deede136, inset 0 -2px #0616208c, 1px 3px 0 #0c1c25, 2px 5px 7px #05101cb3;
}

/* BACCARAT — the felt is the foreground table itself, with an edge continuing across the scene. */
#coModal[data-game="baccarat"] .co-stage { background: #13271e; }
#coModal[data-game="baccarat"] .co-stage::before {
  content: "";
  inset: 0;
  z-index: -1;
  border: 0;
  border-radius: 0;
  pointer-events: none;
  background: linear-gradient(180deg, #101d1780, #14271e14 45%, #14271e), url('/assets/casino-scenes-20261023/wheel-salon.webp') center top / cover no-repeat;
  -webkit-mask-image: linear-gradient(#000, #000 18%, transparent 46%);
  mask-image: linear-gradient(#000, #000 18%, transparent 46%);
}
#coModal[data-game="baccarat"] .co-stage > .co-baccarat {
  isolation: isolate;
  border-color: transparent;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
#coModal[data-game="baccarat"] .co-baccarat::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -11px;
  bottom: -30px;
  left: 50%;
  width: 100vw;
  border: 10px solid #6e4c2c;
  border-top-color: #9e784b;
  border-bottom-color: #372618;
  border-radius: 35% 35% 0 0 / 16% 16% 0 0;
  background:
    radial-gradient(ellipse at 40% 20%, #a6b79417, transparent 66%),
    linear-gradient(#153f2bc2, #0a281bcf),
    url('/assets/casino-materials-20261022/felt.webp') center / 270px repeat,
    #133322;
  box-shadow: inset 0 0 0 2px #d2bd7d9c, inset 0 4px 10px #071a0cb3, 0 -2px #d8bd8680, 0 5px 0 #1d170e;
  transform: translateX(-50%);
  pointer-events: none;
}
#coModal[data-game="baccarat"] .co-baccarat::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -29px;
  width: 100vw;
  height: 13px;
  border-top: 1px solid #c3a96c96;
  border-bottom: 3px solid #281d12;
  background: linear-gradient(#e6c88d29, #1d100a4d), url('/assets/casino-materials-20261022/walnut.webp') center 70% / cover;
  box-shadow: 0 4px 4px #0612099c;
  transform: translateX(-50%);
  pointer-events: none;
}
#coModal[data-game="baccarat"] .co-hand-title,
#coModal[data-game="baccarat"] .co-table-signature,
#coModal[data-game="baccarat"] .co-baccarat-line { text-shadow: 0 1px 2px #062011; }

@media (max-width: 760px) {
  #coModal[data-game="mines"] .co-stage::before { background-position: center, center, 28% 48%; }
  #coModal[data-game="mines"] .co-mines-frame::before { inset: -8px -9px -12px; }
  #coModal[data-game="towers"] .co-tower-structure::before { inset: -5px -5px -7px; }
  #coModal[data-game="dice"] .co-stage::before { --co-dice-rail-y: 64px; }
  #coModal[data-game="keno"] .co-keno-grid { --console-top: clamp(88px, calc(10vw + 50px), 110px); --console-bottom: 60px; }
  #coModal[data-game="keno"] .co-keno-grid::before { left: -10px; right: -10px; border-width: 7px; }
  #coModal[data-game="coinflip"] .co-coin-plinth::before { height: 35px; left: 7%; right: 7%; }
  #coModal[data-game="limbo"] .co-target-line { box-shadow: inset 0 1px #deede136, 1px 3px 0 #0c1c25, 2px 4px 5px #05101c99; }
  #coModal[data-game="baccarat"] .co-baccarat::before { top: -8px; bottom: -24px; border-width: 7px; }
  #coModal[data-game="baccarat"] .co-baccarat::after { bottom: -24px; }
}
@media (max-width: 430px) {
  #coModal[data-game="keno"] .co-keno-grid { --console-top: clamp(77px, calc(10vw + 48px), 91px); --console-bottom: 60px; }
  #coModal[data-game="keno"] .co-keno-grid::before { left: -8px; right: -8px; }
}

@media (forced-colors: active) {
  #coModal[data-game="mines"] .co-stage::before,
  #coModal[data-game="mines"] .co-mines-frame::before,
  #coModal[data-game="towers"] .co-stage::before,
  #coModal[data-game="towers"] .co-tower-structure::before,
  #coModal[data-game="towers"] .co-tower-structure::after,
  #coModal[data-game="dice"] .co-stage::before,
  #coModal[data-game="dice"] .co-die-space::before,
  #coModal[data-game="keno"] .co-stage::before,
  #coModal[data-game="keno"] .co-keno-grid::before,
  #coModal[data-game="keno"] .co-keno-grid::after,
  #coModal[data-game="limbo"] .co-stage::before,
  #coModal[data-game="limbo"] .co-limbo-instrument::before,
  #coModal[data-game="coinflip"] .co-stage::before,
  #coModal[data-game="coinflip"] .co-coin-plinth::before,
  #coModal[data-game="coinflip"] .co-coin-plinth::after,
  #coModal[data-game="baccarat"] .co-stage::before,
  #coModal[data-game="baccarat"] .co-baccarat::before,
  #coModal[data-game="baccarat"] .co-baccarat::after { display: none; }
}

/* legacy-grounding.css */
/* Grounded legacy game surfaces — 2026-10-25.
   Coverage: Blackjack, Poker, Horse Racing, Rocket, Slots, Roulette and Plinko.
   Existing board geometry, animation transforms, timing, canvas pixels, labels,
   selection states and input hit areas are deliberately left to their controllers.
   Materials reuse the deployed felt and walnut assets; no new image requests. */

/* BLACKJACK: light lands on baize, dies beneath the rail and reaches the console. */
#kzBj.kz-game--max {
  background:radial-gradient(ellipse at 36% 3%,#697b4b1c,transparent 58%),radial-gradient(ellipse at 44% 76%,#0b100dc9,transparent 64%),linear-gradient(115deg,#18241cec,#0b1712f2 76%),url('/assets/casino-materials-20261022/walnut.webp') center/680px;
}
#kzBj.kz-game--max .kz-felt {
  background:radial-gradient(ellipse at 38% 26%,#b6c48b26,transparent 58%),radial-gradient(ellipse at 58% 100%,#020d08a8,transparent 68%),linear-gradient(110deg,#143d2ed4,#0c291ee0),url('/assets/casino-materials-20261022/felt.webp') center/340px 340px;
  border-color:#8b825c;
  box-shadow:inset 0 1px #eed7a979,inset 0 0 0 4px #342b20,inset 0 0 0 5px #ae925445,inset 0 0 0 12px #141d17,inset 0 8px 11px 12px #020b08d1,inset 0 -4px 6px 12px #78906a16,0 4px 0 #09110c,0 9px 10px #0007,0 24px 32px -14px #000c;
}
#kzBj .kz-felt::after {
  background:linear-gradient(115deg,#fff7d204,transparent 38%,#00000003 70%);
  box-shadow:inset 0 0 55px #00000030,inset 0 0 0 13px #00000004;
}
#kzBj .kz-felt__mark { color:#d8cf9b;text-shadow:none;filter:none; }
#kzBj .kz-felt .kz-card { filter:drop-shadow(1px 3px 2px #0009);box-shadow:0 1px 0 #dbd4ba99,0 2px 0 #18221980; }
#kzBj .kz-felt .kz-side__label b { background:#0c2116b8;box-shadow:inset 0 1px 3px #0007,0 1px 0 #d1dca416;border-color:#9ea87a54; }
#kzBj .kz-console {
  background:radial-gradient(ellipse at 0 0,#98b3810d,transparent 70%),linear-gradient(145deg,#1c2b20,#0e1c15);
  border-color:#7f8b6340;box-shadow:inset 0 1px #e2e5b41a,inset 1px 0 #e2e5b408,0 3px 0 #050e08,0 14px 24px -12px #000a;
}
#kzBj .kz-game-facts { background:linear-gradient(#080f0a22,transparent); }

/* POKER: soft plum cloth held inside a thick leather cushion and stitched rail. */
#kzHm.kz-game--max {
  background:radial-gradient(ellipse at 33% 12%,#8e74621b,transparent 57%),radial-gradient(ellipse at 38% 78%,#07060bb3,transparent 62%),linear-gradient(115deg,#241e25eb,#121116f2 85%),url('/assets/casino-materials-20261022/walnut.webp') center/680px;
}
#kzHm.kz-game--max .kz-hmfelt {
  background:radial-gradient(ellipse at 37% 30%,#d1b29820,transparent 62%),radial-gradient(ellipse at 55% 100%,#08050c80,transparent 66%),linear-gradient(115deg,#392932d9,#251e2bdf),url('/assets/casino-materials-20261022/felt.webp') center/350px 350px;
  border-color:#a58a62;
  box-shadow:inset 0 1px #f5db9d70,inset 0 0 0 4px #4a382b,inset 0 0 0 5px #b39a715e,inset 0 0 0 12px #17141b,inset 0 7px 7px 13px #030206ba,inset 0 -3px 5px 13px #aa8f7926,0 4px 0 #0c090e,0 9px 9px #0008,0 25px 32px -12px #000d;
}
#kzHm .kz-hmfelt::after {
  content:'';position:absolute;inset:9px;pointer-events:none;border:1px dashed #c2aa7a30;border-radius:inherit;
}
#kzHm .kz-hmboard .kz-card,#kzHm .kz-seat:not(.is-act):not(.is-winner) .kz-card {
  filter:drop-shadow(1px 3px 2px #000b);box-shadow:0 1px #dfd2b36e,0 2px #18101b8c;
}
#kzHm .kz-hmpot {
  background:linear-gradient(135deg,#2e2427e8,#130f17f5);border-color:#c4a67065;
  box-shadow:inset 0 1px #eddcb520,0 2px 0 #07050b,0 5px 6px #0005;
}
#kzHm .kz-seat__bet { background:linear-gradient(145deg,#51452e,#302a20);border-color:#c8b28577;color:#eee0bc;box-shadow:inset 0 1px #fff0ca25,0 2px 0 #19140c,0 4px 4px #0005; }
#kzHm .kz-seat__btn { box-shadow:inset 0 1px #fffef2b3,inset 0 -2px #a38b5d99,0 2px 0 #40301b,0 4px 4px #0008; }
#kzHm .kz-console {
  background:radial-gradient(ellipse at 0 0,#c6a18d10,transparent 70%),linear-gradient(145deg,#2c2329,#17141c);
  border-color:#ad927348;box-shadow:inset 0 1px #edd4b41a,inset 1px 0 #e7c9ad0a,0 3px 0 #0b090f,0 14px 24px -12px #000b;
}

/* HORSE RACING: the live track remains untouched; its frame and tickets share
   the same warm track-side light, without adding blur to the moving labels. */
#kzRace.kz-game--max {
  background:radial-gradient(ellipse at 38% 0,#a997521b,transparent 62%),linear-gradient(135deg,#202a20,#101c15 76%);
}
#kzRace .kz-arena.rc-cinematic {
  border-color:#a8a17a73;
  box-shadow:inset 0 1px #ece4b83d,0 0 0 1px #08110b,0 3px 0 #080f0a,0 9px 15px #0006,0 22px 30px -15px #000b;
}
#kzRace #kzArena.rc-cinematic .rc-broadcast,
#kzRace #kzArena.rc-cinematic .rc-timeline {
  background:linear-gradient(105deg,#273328f5,#142219f5 68%);border-color:#b8b58b40;
  box-shadow:inset 0 1px #f2ebbf0c,0 2px 6px #0004;
}
#kzRace #kzArena.rc-cinematic #kzBoard {
  background:linear-gradient(125deg,#1c2b1eed,#0c1c12f2);border-color:#9caa7861;
  box-shadow:inset 0 1px #e5edbc14,0 3px 9px #0007;
}
#kzRace .kz-console {
  background:linear-gradient(140deg,#30372a,#162319 75%);border-color:#a5a47950;
  box-shadow:inset 0 1px #ede5ac1f,0 3px 0 #0b150d,0 14px 24px -12px #000b;
}
#kzRace .kz-console .kz-horse:not(.is-mine):not(.is-selected):not(:hover):not(:focus-visible) {
  background:linear-gradient(120deg,#35412b80,#132518);border-color:#9aab7654;
  box-shadow:inset 0 1px #dce6bc15,0 1px 0 #081109,0 3px 4px #0003;
}
#kzRace .kz-horse__silk { box-shadow:inset 0 1px #ffffc26e,inset 0 -2px #0003,0 2px 2px #0007; }
#kzRace .kz-recent { background:linear-gradient(120deg,#222d2070,#101d148c);border-color:#a1ac7b29; }

/* ROCKET: recessed observation glass and machined blue metal. The flight,
   curve, multiplier and existing canvas rendering remain in their original layer. */
#kzCr.kz-rocket-reference.kz-game--max {
  background:radial-gradient(ellipse at 68% 6%,#759eb51b,transparent 62%),linear-gradient(115deg,#111f2a,#07121d 77%);
}
#kzCr.kz-rocket-reference .kz-cr-stage {
  background:radial-gradient(ellipse at 57% 14%,#27485930,transparent 67%),#07131f;
  border-color:#718a9e53;
  box-shadow:inset 0 1px #d9efff17,inset 0 0 0 4px #111f2a,inset 0 0 0 5px #72889a24,inset 0 4px 14px 5px #0007,0 3px 0 #040d14,0 12px 22px -9px #0009;
}
#kzCr.kz-rocket-reference .kz-rocket-stagebar {
  background:linear-gradient(105deg,#223643c4,#101f2b8c);border-color:#9ab7c82c;
  box-shadow:inset 0 1px #d5eaf815,0 1px 5px #0003;color:#bad1dc;
}
#kzCr.kz-rocket-reference .kz-rocket-sidebar {
  background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 4px),linear-gradient(120deg,#293d49,#182a37 45%,#12232e);
  border-color:#8b9eab5c;
  box-shadow:inset 0 1px #d8e4ed30,inset 1px 0 #ecf5f20a,inset 0 0 0 3px #51636c19,0 3px 0 #07131e,0 12px 22px -9px #000a;
}
#kzCr.kz-rocket-reference .kz-rocket-sidebar .kz-bet {
  background:linear-gradient(#071420,#0d1c28);border-color:#7c95a75e;
  box-shadow:inset 0 2px 5px #0008,0 1px #d1e4ed17;
}
#kzCr.kz-rocket-reference .kz-rocket-playerbox {
  background:linear-gradient(120deg,#0d1c28,#07131d);border-color:#6c879a50;
  box-shadow:inset 0 2px 5px #0006,0 1px #d1e4ed0c;
}
#kzCr.kz-rocket-reference .kz-rocket-history {
  background:linear-gradient(110deg,#1c2d38,#0e1e29);border-color:#93acbc25;
  box-shadow:inset 0 1px #dcecff0a;
}

/* SLOTS: a wooden housing with a cut-out reel bay, curved glass, and warm light
   reflected into the metal. Overlays remain pointer-transparent and static. */
#kzSl.kz-game--max {
  background:radial-gradient(ellipse at 38% 2%,#bb8c3f26,transparent 60%),radial-gradient(ellipse at 40% 72%,#090602b3,transparent 62%),linear-gradient(115deg,#2c2316,#17140e 80%);
}
#kzSl .kz-slcab {
  background:
    linear-gradient(90deg,#130d08b3,#eccb771c 5%,#34241500 12%,#100a0766 12.1%,#e4b66830 12.3%,transparent 12.5%,transparent 87.5%,#e4b66830 87.7%,#100a0766 87.9%,#34241500 88%,#bc975610 95%,#100b08bb),
    linear-gradient(180deg,#21170b99 0%,#62452a55 15.7%,#d4ae5b70 16%,#0b0807b3 16.4%,transparent 18%,transparent 92%,#e6c78155 92.5%,#15100b88 93%,#392a18bd 99%,#100c07),
    radial-gradient(ellipse at 34% 1%,#f7d89e27,transparent 55%),linear-gradient(110deg,#170c05b3,#3b241458 39%,#120c07bd),url('/assets/casino-materials-20261022/walnut.webp') center/cover;
  border-color:#b89a63;
  box-shadow:inset 0 1px #ffe1a88c,inset 0 0 0 3px #57402a,inset 0 0 0 4px #ccad7475,inset 0 0 0 9px #22190e,inset 0 8px 10px 9px #fff1ad0e,inset 0 -7px 11px 9px #0906039c,0 4px 0 #0c0804,0 9px 12px #0009,0 24px 30px -12px #000d;
}
#kzSl .kz-slcab::before { color:#eed5a4;text-shadow:0 1px #ffedbc3b,0 2px 1px #211006,0 5px 5px #0008; }
/* The reel window sits inside its own cast-metal bezel. Both pieces paint
   behind the existing reels, win lines and result layer without resizing them. */
#kzSl .kz-slframe { isolation:isolate; }
#kzSl .kz-slframe::before {
  content:'';position:absolute;inset:-14px -15px -13px;z-index:-1;pointer-events:none;
  border:1px solid #c7aa72;border-radius:17px;
  background:linear-gradient(135deg,#d6bc7b,#695334 8%,#24241d 22%,#151c1b 66%,#85703f 92%,#d6b56c);
  box-shadow:inset 0 1px #fff1b9a3,inset 0 0 0 4px #3b3021,inset 0 0 0 5px #e1c38766,inset 0 0 0 9px #090d0b,0 2px 2px #000c,0 8px 13px #0009;
}
#kzSl .kz-slframe::after {
  content:'';position:absolute;left:-18px;right:-18px;bottom:-20px;height:12px;z-index:-1;pointer-events:none;
  border:1px solid #b29659;border-radius:2px 2px 7px 7px;
  background:linear-gradient(#d1b777 0%,#9a7e48 18%,#49351e 23%,#261a0e 82%,#b18d4f 90%,#302011);
  box-shadow:0 4px 0 #100c08,0 9px 9px #0008,inset 0 1px #fff4d68c;
}
#kzSl .kz-slreels::before {
  background:linear-gradient(#070a0d,#121716 52%,#030608);
  box-shadow:inset 0 3px 7px #000,inset 0 -1px #e8d5a254,0 0 0 1px #ad8b5966,0 0 0 3px #110c06;
}
#kzSl .kz-slreel {
  background:linear-gradient(180deg,#050d0f,#26332e 47%,#0b1716);
  border-color:#ada37d3d;box-shadow:inset 0 15px 14px #000a,inset 0 -15px 14px #000a,inset 1px 0 #d1dfc819,inset -1px 0 #0008;
}
#kzSl .kz-slreel::before { background:linear-gradient(180deg,#030608bc,transparent 25%,transparent 74%,#020708bc); }
#kzSl .kz-slreel::after { background:linear-gradient(107deg,transparent 12%,#ecfff30a 22%,#ecfff312 25%,transparent 34%,transparent 70%,#d4e3d907 76%,transparent 88%); }
#kzSl .kz-slcell::before { background:linear-gradient(140deg,#dce8c606,#00000010);border-color:#e1d6aa0c;box-shadow:inset 0 1px #e4eedb06; }
#kzSl .kz-slrail { background:linear-gradient(90deg,#2d2416,#9e8654 23%,#e4c889 45%,#796039 61%,#332817);border-color:#c8ab7263;box-shadow:inset 1px 0 #fff0ba4d,inset -2px 0 #0006,0 3px 5px #0007; }
#kzSl .kz-console {
  background:radial-gradient(ellipse at 0 0,#e4ba6814,transparent 65%),linear-gradient(135deg,#30291d,#1b1a12);
  border-color:#ad96664d;box-shadow:inset 0 1px #f5dfaa1f,0 3px 0 #100d07,0 14px 24px -12px #000b;
}

/* ROULETTE: shared grazing light on printed cloth, contact shadow under the
   existing wheel, and a dark wooden apron. No wheel, ball or bet coordinates. */
#kzRoulette .rl-table {
  background:radial-gradient(ellipse at 32% 28%,#d0985d29,transparent 61%),radial-gradient(ellipse at 85% 85%,#1c04166e,transparent 70%),linear-gradient(110deg,#6b202bcc,#4b1320df),url('/assets/casino-materials-20261022/felt.webp') center/340px 340px;
  box-shadow:inset 0 1px #f6dfad75,inset 0 10px 16px #16050d66,inset 0 -14px 16px #1304098c,0 4px 0 #100b06,0 12px 18px #0006;
}
#kzRoulette .rl-table::before {
  box-shadow:inset 0 0 0 2px #c9ab7482,inset 0 0 0 5px #3d281a,inset 0 0 0 8px #805533,inset 0 0 0 9px #c19a6759,inset 0 0 0 13px #1b1009,inset 0 0 18px 14px #17030bbd;
}
#kzRoulette .rl-table::after {
  background:linear-gradient(0deg,#080503bb,#6f482535),url('/assets/casino-materials-20261022/walnut.webp') center/cover;
  border-top-color:#e1c4978a;box-shadow:inset 0 1px #fce3b44a,inset 0 -4px 5px #000b,0 3px 5px #0008;
}
#kzRoulette .rl-wheel-wrap::before { background:radial-gradient(ellipse,#0a0303e6 26%,#16070bba 47%,#1b070b52 61%,transparent 73%); }
#kzRoulette .rl-wheel-halo { background:radial-gradient(ellipse at 40% 38%,#e8c6961b,transparent 66%); }
#kzRoulette .rl-number.rl-red:not(.is-covered):not(.is-winner):not(.is-preview):not(:hover):not(:focus-visible) { background:linear-gradient(130deg,#b8393c,#87212b);box-shadow:inset 0 1px #ffe3bf10; }
#kzRoulette .rl-number.rl-black:not(.is-covered):not(.is-winner):not(.is-preview):not(:hover):not(:focus-visible) { background:linear-gradient(135deg,#292726,#121719);box-shadow:inset 0 1px #eae7db0c; }
#kzRoulette .rl-number.rl-green:not(.is-covered):not(.is-winner):not(.is-preview):not(:hover):not(:focus-visible) { background:linear-gradient(130deg,#337254,#174c3a);box-shadow:inset 0 1px #e7f3ba17; }
#kzRoulette .rl-bet:not(.is-covered):not(.is-winner):not(.is-preview):not(:hover):not(:focus-visible) { border-color:#e7cda69e; }
/* The current renderer emits is-winner. Retain its outline/color and the
   restrained outside-bet indicator; only the winning number gains warm light.
   The hover branch outranks the old material layer's generic hover shadow. */
#kzRoulette .rl-number.is-winner,
#kzRoulette .rl-bet.rl-number.is-winner:is(:hover,:focus-visible):not(:disabled) { box-shadow:0 0 20px #f7ce6d73,inset 0 0 12px #f4cb6c4d; }
#kzRoulette .rl-console { background:linear-gradient(110deg,#302d23,#1a211b 70%);border-color:#b6a17540;box-shadow:inset 0 1px #f1dfba1a,0 -6px 16px #0004; }
#kzRoulette .rl-chip { box-shadow:inset 0 1px #fff7,0 2px 0 #1b1713,0 4px 3px #0008,2px 7px 7px #0006; }

/* PLINKO: a self-contained baize cabinet inside a separate dark room, rather
   than pegs floating on room-wide cloth. The frame is behind the unchanged
   transparent canvas, so every peg, drop and bucket retains its coordinates. */
#kzPlinko .pk-stage {
  background:radial-gradient(ellipse at 48% 14%,#bfa57417,transparent 65%),radial-gradient(ellipse at 50% 76%,#030c0ec4,transparent 67%),linear-gradient(110deg,#202b28e8,#101d1ff2),url('/assets/casino-materials-20261022/walnut.webp') center/700px;
  box-shadow:inset 1px 0 #b1c8ac1a,inset 12px 0 26px #0003,inset -10px 0 26px #0003;
}
#kzPlinko .pk-board-wrap { isolation:isolate;background:none; }
#kzPlinko .pk-board-wrap::before {
  content:'';position:absolute;inset:0 2% 0;z-index:-1;pointer-events:none;
  border:10px solid #493923;border-radius:22px;
  background:
    radial-gradient(circle at 17px 17px,#f3dda885 0 2px,#453316 3px,transparent 4px),
    radial-gradient(circle at calc(100% - 17px) 17px,#f3dda885 0 2px,#453316 3px,transparent 4px),
    radial-gradient(ellipse at 37% 22%,#b4c9972b,transparent 65%),
    radial-gradient(ellipse at 60% 92%,#020f1282,transparent 70%),
    linear-gradient(115deg,#154439d9,#0d2e30e6),url('/assets/casino-materials-20261022/felt.webp') center/300px;
  box-shadow:inset 0 0 0 1px #d0b6758c,inset 0 0 0 4px #122420,inset 0 4px 13px 4px #000b,0 0 0 1px #c1a466a8,0 0 0 4px #1b1710,0 3px 0 5px #080f0e,0 13px 15px #0008,0 23px 32px -10px #000c;
}
#kzPlinko .pk-board-wrap::after {
  content:'';position:absolute;left:2%;right:2%;bottom:0;height:5.4%;z-index:-1;pointer-events:none;
  border:1px solid #a48b57;border-top-color:#d2b875;border-radius:0 0 15px 15px;
  background:linear-gradient(180deg,#c2a56a55,#231d12b0 19%,#15130ecc 75%,#493b2270),url('/assets/casino-materials-20261022/walnut.webp') center/600px;
  box-shadow:inset 0 1px #efdaa673,inset 0 4px 5px #0a110c85,0 4px 5px #0008;
}
#kzPlinko .pk-bucket {
  background:linear-gradient(135deg,#fffce437,transparent 28%,#00000019 72%),var(--bucket-color);
  box-shadow:inset 0 1px #fff9,inset 1px 0 #fff2,inset 0 -2px #0003,0 4px 0 color-mix(in srgb,var(--bucket-color),#000 58%),0 7px 3px #02101499,1px 10px 7px #0005;
}
#kzPlinko .pk-controls {
  background:radial-gradient(ellipse at 0 0,#d3c28c12,transparent 70%),linear-gradient(130deg,#273832,#162a29 70%);
  border-color:#a2b89540;box-shadow:inset 0 1px #d9e9c612,inset -1px 0 #ecf1cb12,4px 0 10px #0002;
}
#kzPlinko .pk-header,#kzPlinko .pk-footer {
  background:linear-gradient(110deg,#2a3932,#172a28 68%);border-color:#a4b48b3d;
  box-shadow:inset 0 1px #e6ecc616;
}
#kzPlinko .pk-amount,#kzPlinko .pk-select select {
  background:linear-gradient(#081b1e,#122727);border-color:#96aa8157;
  box-shadow:inset 0 2px 5px #0007,0 1px #dae9c512;
}
#kzPlinko .pk-amount button { background:linear-gradient(120deg,#53604b,#30493c);border-color:#a1b58b40;box-shadow:inset 0 1px #e8edc417; }
#kzPlinko .pk-result { background:radial-gradient(ellipse at 50% 0,#c4d6a106,transparent 77%); }

/* Keep broad material shadows and rails from overpowering narrow boards. */
@media(max-width:680px) {
  #kzBj.kz-game--max .kz-felt { background-size:auto,auto,auto,240px 240px;box-shadow:inset 0 0 0 4px #172019,inset 0 0 0 5px #b9a06c55,inset 0 4px 9px 6px #0008,0 3px 0 #08110b,0 9px 15px #0006; }
  #kzHm.kz-game--max .kz-hmfelt { background-size:auto,auto,auto,240px 240px;box-shadow:inset 0 0 0 4px #211a21,inset 0 0 0 5px #af91665c,inset 0 3px 8px 6px #0008,0 3px 0 #0d0910,0 9px 15px #0007; }
  #kzHm .kz-hmfelt::after { inset:6px;border-color:#c2aa7a24; }
  #kzSl .kz-slcab { box-shadow:inset 0 0 0 3px #3e2d1a,inset 0 0 0 4px #ba9e666b,inset 0 -5px 7px #0008,0 3px 0 #0f0b05,0 9px 15px #0008; }
  #kzSl .kz-slframe::before { inset:-6px -5px -8px;border-radius:10px;box-shadow:inset 0 1px #fff1b98c,inset 0 0 0 3px #493a23,inset 0 0 0 4px #bda36b61,0 4px 7px #0009; }
  #kzSl .kz-slframe::after { left:-6px;right:-6px;bottom:-12px;height:7px; }
  #kzRoulette .rl-table::before { box-shadow:inset 0 0 0 1px #c9ab7470,inset 0 0 0 4px #704a2d,inset 0 0 0 6px #24170d,inset 0 0 10px 8px #17030b94; }
  #kzPlinko .pk-stage { background-size:auto,auto,auto,460px; }
  #kzPlinko .pk-board-wrap::before { inset:0 0 0;border-width:4px;border-radius:12px;background-size:auto,auto,auto,auto,auto,220px;box-shadow:inset 0 0 0 1px #d0b67570,inset 0 3px 7px 2px #0008,0 0 0 1px #a58d5d8c,0 5px 9px #0008; }
  #kzPlinko .pk-board-wrap::after { left:0;right:0;border-radius:0 0 9px 9px;height:4%; }
  #kzPlinko .pk-bucket { box-shadow:inset 0 1px #fff8,inset 0 -1px #0003,0 3px 0 color-mix(in srgb,var(--bucket-color),#000 58%),0 5px 4px #0006; }
  #kzPlinko .pk-action { background:linear-gradient(115deg,#293b33,#172a28);border-color:#a4b48b55; }
}
@media(forced-colors:active) {
  #kzBj.kz-game--max .kz-felt,#kzHm.kz-game--max .kz-hmfelt,#kzSl .kz-slcab,#kzRoulette .rl-table,#kzPlinko .pk-stage { background:Canvas;box-shadow:none; }
  #kzHm .kz-hmfelt::after,#kzSl .kz-slframe::before,#kzSl .kz-slframe::after,#kzPlinko .pk-board-wrap::before,#kzPlinko .pk-board-wrap::after { display:none; }
}
