

.mines-game-layout #minesweeper_cashout.hidden { display: none !important; }
.hilo-btn-place.hidden,
.hilo-btn-cashout.hidden { display: none; }
.bj-btn-place.hidden { display: none; }
.bj-actions.hidden { display: none; }
.ck-btn-place.hidden { display: none; }
.ck-actions.hidden { display: none; }
.cf-btn-place.hidden { display: none; }
.cf-actions.hidden { display: none; }
.av-btn-place.hidden { display: none; }
.av-splash.hidden { display: none; }
.av-celebration.hidden { display: none; }
.av-stall-warning.hidden { display: none; }
.pk-page .hidden { display: none !important; }

/* =========================================
   ROULETTE GAME REDESIGN
   ========================================= */

.rl-page { width: 100%; }

/* ── Two-panel game layout ── */
.rl-game-layout {
    display: flex;
    border-radius: 8px;
    overflow: hidden;
    min-height: 420px;
    margin-bottom: 24px;
}

/* ── Left panel ── */
.rl-controls {
    width: 340px;
    min-width: 340px;
    background: #3b274f;
    border-right: 1px solid rgba(255,255,255,0.05);
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
}
.rl-segment { display: flex; flex-direction: column; gap: 6px; }
.rl-label { font-size: 14px; color: #dbdbdb; font-weight: 400; }
.rl-input-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 6px;
    padding: 10px 12px;
    box-sizing: border-box;
}
.rl-input-icon { color: #acacac; font-size: 14px; font-weight: 600; flex-shrink: 0; }
.rl-input {
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 16px;
    font-weight: 500;
    flex: 1;
    min-width: 0;
    outline: none;
    padding: 0;
}
.rl-chips { display: flex; gap: 4px; flex-shrink: 0; }
.rl-chip {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 4px;
    color: #acacac;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.rl-chip:hover { background: rgba(255,255,255,0.08); color: #fff; }

/* Bet buttons */
.rl-bet-btns {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-top: 0;
}
.rl-bet-btn {
    flex: 1;
    height: 64px;
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: filter 0.15s, opacity 0.15s;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    line-height: 1.15;
}
.rl-bet-main { font-size: 14px; font-weight: 600; }
.rl-bet-sub { font-size: 11px; font-weight: 500; opacity: 0.85; }
.rl-bet-btn:hover { filter: brightness(1.1); }
.rl-bet-btn.disabled { opacity: 0.5; cursor: not-allowed; filter: none; }
.rl-bet-red    { background: #ef6265; }
.rl-bet-purple { background: #09b95b; }
.rl-bet-black  { background: #363636; }

/* ── Right panel ── */
.rl-stage {
    flex: 1;
    background: #2b2333;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.rl-header {
    background: #3b274f;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 24px;
    flex-shrink: 0;
}
.rl-header-left { display: flex; align-items: center; gap: 8px; }
.rl-header-icon { width: 20px; height: 20px; object-fit: contain; flex-shrink: 0; }
.rl-header-title { font-size: 15px; font-weight: 600; color: #fff; }
.rl-info-icon { color: rgba(255,255,255,0.35); font-size: 14px; cursor: default; }
.rl-fair-link {
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    text-decoration: none;
    transition: color 0.15s;
}
.rl-fair-link:hover { color: #09b95b; }

.rl-display-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 20px 24px;
    gap: 14px;
}

/* Timer row — centered pill */
.rl-timer-row {
    display: flex;
    align-items: center;
    gap: 6px;
    align-self: center;
    background: rgba(255,255,255,0.05);
    border-radius: 32px;
    padding: 6px 12px;
}
.rl-timer-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid #09b95b;
    flex-shrink: 0;
    box-shadow: 0 0 6px rgba(9,185,91,0.5);
}
.rl-timer-text {
    font-size: 12px;
    color: #fff;
    font-weight: 600;
    white-space: nowrap;
}

/* Progress bar strip */
.rl-progress-wrap {
    height: 4px;
    background: rgba(255,255,255,0.06);
    border-radius: 2px;
    overflow: hidden;
    margin-top: -6px;
}
.rl-progress-wrap .progress-bar {
    height: 100%;
    background: #09b95b;
    border-radius: 2px;
    transition: width 0.3s linear;
}

/* Reel — override existing .roulette-case to fit inside .rl-stage */
.rl-game-layout .roulette-case {
    margin: 0 !important;
    width: 100% !important;
    border-radius: 24px;
    height: 120px;
    padding: 20px 0;
}
.rl-game-layout .roulette-case .reel-item {
    font-size: 24px;
    font-weight: 700;
    border-radius: 8px;
}
/* Flat Figma colors + inset border for reel tiles */
.rl-game-layout .reel-red    { background: #ef6265 !important; box-shadow: inset 0 0 0 1px #f4878a; }
.rl-game-layout .reel-purple { background: #09b95b !important; box-shadow: inset 0 0 0 1px #41cc82; }
.rl-game-layout .reel-black  { background: #363636 !important; box-shadow: inset 0 0 0 1px #555555; }

/* Roll history row */
.rl-history {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-top: 1px solid rgba(255,255,255,0.06);
}
.rl-history.hidden { display: none !important; }
.rl-rolls { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
.rl-hundred {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.rl-hundred-item {
    display: flex;
    align-items: center;
    gap: 5px;
}
.rl-hundred-num {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.7);
}

/* ── Live bets panels (below game layout) ── */
.rl-panels-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}
.rl-panel {
    background: #2b2333;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 8px;
    overflow: hidden;
}
.rl-panel-color {
    height: 3px;
}
.rl-color-red    { background: #c0392b; }
.rl-color-purple { background: #09b95b; }
.rl-color-black  { background: #4a4a5e; }

.rl-panel-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px 6px;
    gap: 8px;
}
.rl-panel-title {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}
.rl-mult {
    font-size: 12px;
    font-weight: 400;
    color: rgba(255,255,255,0.45);
    margin-left: 3px;
}
.rl-panel-stats {
    display: flex;
    gap: 10px;
    font-size: 12px;
    color: rgba(255,255,255,0.4);
}
.rl-panel-high {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    background: rgba(255,255,255,0.03);
    border-top: 1px solid rgba(255,255,255,0.05);
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.rl-panel-high-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.rl-panel-high-info .roulette-highname {
    font-size: 13px;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rl-panel-high-info .roulette-hightotal {
    font-size: 12px;
    color: rgba(255,255,255,0.45);
}
.rl-high-label {
    font-size: 11px;
    color: rgba(255,255,255,0.3);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}
.rl-panel-mybet {
    padding: 4px 14px;
    font-size: 12px;
    color: rgba(255,255,255,0.35);
}
.rl-betslist {
    max-height: 200px;
    overflow-y: auto;
    padding: 4px 8px 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rl-betslist .roulette-betitem {
    border-radius: 4px;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
    .rl-controls { width: 280px; min-width: 260px; }
    .rl-panels-wrap { grid-template-columns: 1fr; gap: 10px; }}

@media (max-width: 768px), (pointer: coarse) and (max-width: 1199px) and (max-height: 600px) and (orientation: landscape) {
    .rl-game-layout {
        flex-direction: column;
        min-height: unset;
        border-radius: 0;
    }
    .rl-stage { order: 1; }
    .rl-controls  { order: 2; width: 100%; min-width: unset; }
    .rl-bet-btn { height: 44px; }
    .rl-display-area { padding: 14px 16px; gap: 10px; }
    .rl-panels-wrap { grid-template-columns: 1fr; }

    /* Roll history on mobile: recent rolls on top, colour counts below.
       Overrides legacy others.css `.pick-ball { width: calc(10% - 5px)!important }`
       which collapsed the colour balls so neither the colours nor the
       per-colour counts were visible. */
    .rl-history {
        flex-wrap: wrap;
        justify-content: flex-start;
        row-gap: 8px;
    }
    .rl-rolls  { flex: 1 0 100%; }
    .rl-hundred { width: 100%; justify-content: flex-start; gap: 16px; }

    .rl-rolls .pick-ball {
        width: 45px !important;
        height: 40px !important;
        float: none !important;
        margin: 0 !important;
    }
    .rl-rolls .pick-ball div { line-height: 26px; }

    .rl-hundred .pick-ball {
        width: 20px !important;
        height: 20px !important;
        float: none !important;
        margin: 0 !important;
    }}

@media (max-width: 480px) {
    .rl-bet-btns { flex-direction: column; }
    .rl-chips .rl-chip { padding: 4px 6px; font-size: 11px; }}
.cr-btn-cashout.hidden { display: none !important; }
.cr-btn-next.hidden { display:none !important; }
.tw-btn-cashout.hidden { display: none !important; }
.sl-demo-banner.hidden { display: none; }

/* Mobile betting controls: larger touch targets and clearer separation */
@media (max-width: 768px), (pointer: coarse) and (max-width: 1199px) and (max-height: 600px) and (orientation: landscape) {

    .rl-bet-btns {
        gap: 10px;
        margin-top: 12px;
    }

    .rl-bet-btn {
        min-height: 58px;
        height: 58px !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,0.12);
    }}

@media (max-width: 480px) {

    .rl-bet-btns {
        gap: 10px;
    }

    .rl-bet-btn {
        min-height: 64px;
        height: 64px !important;
    }}

/* =========================================
   ROULETTE 2026 UI REFRESH
   ========================================= */
.rl-page { max-width: 1240px; margin: 0 auto; padding: 24px 22px 42px; box-sizing: border-box; text-align: left; }
.rl-page-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.rl-page-identity { display: flex; align-items: center; gap: 12px; }
.rl-page-icon { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(171,120,255,.3); border-radius: 14px; background: linear-gradient(145deg,rgba(132,71,234,.26),rgba(43,22,76,.52)); box-shadow: inset 0 1px rgba(255,255,255,.08),0 12px 25px rgba(10,5,22,.24); }
.rl-page-icon img { width: 25px; height: 25px !important; object-fit: contain; }
.rl-page-kicker { display: block; margin-bottom: 2px; color: #8d829a; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rl-page-identity h1 { margin: 0; color: #fff; font-size: 24px; line-height: 1.1; letter-spacing: -.025em; }
.rl-page-actions { display: flex; align-items: center; gap: 8px; }
.rl-how-button,.rl-top-fair { display: inline-flex; height: 36px; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(255,255,255,.035); color: #aaa2b4; font: 700 11px/1 Arial,sans-serif; text-decoration: none; box-sizing: border-box; }
.rl-how-button { cursor: pointer; }
.rl-how-button:hover,.rl-top-fair:hover { border-color: rgba(163,108,255,.32); background: rgba(135,74,232,.1); color: #fff; }
.rl-top-fair i { color: #f4c95d; }
.rl-page .rl-game-layout { min-height: 510px; margin-bottom: 18px; border: 1px solid rgba(255,255,255,.075); border-radius: 20px; background: #110d1c; box-shadow: 0 24px 65px rgba(5,2,14,.34),inset 0 1px rgba(255,255,255,.035); }
.rl-page .rl-controls { width: clamp(290px,27vw,340px); min-width: 290px; gap: 18px; padding: 22px; border-right: 1px solid rgba(255,255,255,.07); background: radial-gradient(circle at 20% 0,rgba(132,70,224,.15),transparent 34%),linear-gradient(165deg,#21172f,#16101f 72%); box-sizing: border-box; }
.rl-control-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.065); }
.rl-control-head > div span { display: block; margin-bottom: 3px; color: #857b8e; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rl-control-head > div strong { color: #f5f1f8; font-size: 15px; }
.rl-control-balance { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; border: 1px solid rgba(244,201,93,.14); border-radius: 9px; background: rgba(244,201,93,.055); color: #d9ccaa; font-size: 11px; }
.rl-control-balance i,.rl-page .rl-input-icon { color: #f4c95d; }
.rl-page .rl-label { color: #a79ead; font-size: 11px; font-weight: 700; }
.rl-page .rl-input-row { min-height: 58px; padding: 8px 10px 8px 14px; border-color: rgba(171,122,255,.24); border-radius: 12px; background: rgba(6,4,12,.43); transition: border-color .2s,box-shadow .2s; }
.rl-page .rl-input-row:focus-within { border-color: #8952e2; box-shadow: 0 0 0 3px rgba(132,72,226,.12); }
.rl-page .rl-input { font-size: 18px; font-weight: 750; }
.rl-page .rl-chips { gap: 5px; }
.rl-page .rl-chip { min-width: 34px; height: 31px; padding: 0 7px; border-color: rgba(255,255,255,.075); border-radius: 8px; background: rgba(255,255,255,.045); color: #958b9e; font-size: 10px; }
.rl-page .rl-chip:hover { border-color: rgba(159,104,248,.38); background: rgba(130,69,226,.14); }
.rl-page .rl-bet-btns { display: grid; grid-template-columns: 1fr; gap: 9px; transform: none !important; }
.rl-page .rl-bet-btn { position: relative; min-height: 67px; height: 67px; align-items: flex-start; padding: 0 17px 0 53px; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; box-shadow: inset 0 1px rgba(255,255,255,.13),0 12px 24px rgba(3,1,8,.18); transition: border-color .16s; }
.rl-page .rl-bet-btn::before { content: ''; position: absolute; left: 16px; top: 50%; width: 22px; height: 22px; transform: translateY(-50%) rotate(45deg); border: 2px solid rgba(255,255,255,.68); border-radius: 6px; box-shadow: inset 0 0 0 3px rgba(0,0,0,.14),0 4px 10px rgba(0,0,0,.22); }
.rl-page .rl-bet-btn::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg,rgba(255,255,255,.12),transparent 42%); box-shadow: inset 0 0 0 100vmax transparent; pointer-events: none; transition: box-shadow .16s ease; }
.rl-page .rl-bet-btn:hover:not(.disabled) { transform: none; filter: none; }
.rl-page .rl-bet-btn:hover:not(.disabled)::after { box-shadow: inset 0 0 0 100vmax rgba(0,0,0,.2); }
.rl-page .rl-bet-red { background: linear-gradient(135deg,#b92e49,#e45769); }
.rl-page .rl-bet-purple { background: linear-gradient(135deg,#087b4a,#1fc477); }
.rl-page .rl-bet-black { background: linear-gradient(135deg,#17141e,#38313f); }
.rl-page .rl-bet-main { position: relative; z-index: 1; font-size: 13px; font-weight: 800; }
.rl-page .rl-bet-sub { position: relative; z-index: 1; color: rgba(255,255,255,.7); font-size: 10px; }
.rl-risk-note { display: flex; align-items: flex-start; gap: 7px; margin: auto 0 0; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.055); color: #756b7d; font-size: 10px; line-height: 1.5; }
.rl-risk-note i { margin-top: 2px; color: #8e6fc1; }
.rl-mobile-bet-status,.rl-bet-own { display: none; }
.rl-page .rl-stage { position: relative; background: radial-gradient(circle at 50% 48%,rgba(108,52,180,.17),transparent 38%),linear-gradient(145deg,#100b1b,#0b0813); }
.rl-page .rl-stage::before { content: ''; position: absolute; inset: 57px 0 0; pointer-events: none; opacity: .3; background: repeating-linear-gradient(90deg,transparent 0 69px,rgba(166,122,241,.035) 70px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(166,122,241,.03) 55px); -webkit-mask-image: radial-gradient(circle at center,#000,transparent 72%); mask-image: radial-gradient(circle at center,#000,transparent 72%); }
.rl-page .rl-header { position: relative; z-index: 2; min-height: 57px; padding: 0 20px; border-bottom-color: rgba(255,255,255,.06); background: rgba(25,18,36,.82); }
.rl-page .rl-header-icon { width: 22px; height: 22px; }
.rl-page .rl-header-title { font-size: 14px; }
.rl-page .rl-info-icon { display: none; }
.rl-header-actions { display: flex; align-items: center; gap: 11px; }
.rl-sound-toggle { display: inline-flex; width: 34px; min-height: 32px; align-items: center; justify-content: center; padding: 0; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: rgba(255,255,255,.04); color: #a79ead; font-size: 12px; cursor: pointer; transition: border-color .18s,background .18s,color .18s; }
.rl-sound-toggle:hover { border-color: rgba(159,104,248,.4); background: rgba(130,69,226,.12); color: #fff; }
.rl-sound-toggle.is-muted { border-color: rgba(244,201,93,.2); background: rgba(244,201,93,.07); color: #d9ccaa; }
.rl-round-state { display: inline-flex; align-items: center; gap: 8px; color: #89808f; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.rl-round-state i { width: 7px; height: 7px; border-radius: 50%; background: #54d994; box-shadow: 0 0 0 4px rgba(84,217,148,.1),0 0 12px rgba(84,217,148,.45); }
.rl-page .rl-display-area { position: relative; z-index: 1; justify-content: center; padding: 24px; gap: 14px; }
.rl-page .rl-timer-row { min-height: 34px; padding: 0 13px; border: 1px solid rgba(255,255,255,.07); background: rgba(5,3,10,.34); }
.rl-page .rl-timer-dot { width: 8px; height: 8px; border: 0; background: #54d994; box-shadow: 0 0 0 4px rgba(84,217,148,.1),0 0 10px rgba(84,217,148,.4); }
.rl-page .rl-timer-text { font-size: 11px; }
.rl-page .rl-progress-wrap { height: 5px; margin: -5px auto 5px; width: min(100%,620px); border-radius: 5px; background: rgba(255,255,255,.05); }
.rl-page .rl-progress-wrap .progress-bar { background: linear-gradient(90deg,#7b3fd6,#b064f2,#f4c95d); box-shadow: 0 0 13px rgba(157,89,235,.4); }
.rl-reel-label { display: flex; width: min(100%,680px); align-items: center; justify-content: space-between; align-self: center; margin-bottom: -8px; color: #817688; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rl-reel-label span { display: flex; align-items: center; gap: 6px; }
.rl-reel-label i { color: #f4c95d; }
.rl-reel-label small { color: #665d6c; font-size: 8px; }
.rl-page .rl-game-layout .roulette-case { width: min(100%,700px) !important; height: 150px; align-self: center; padding: 25px 0; border: 1px solid rgba(244,201,93,.13); border-radius: 20px; background: linear-gradient(145deg,rgba(27,19,38,.96),rgba(8,6,14,.98)); box-shadow: inset 0 1px rgba(255,255,255,.05),inset 0 -18px 32px rgba(0,0,0,.28),0 22px 45px rgba(3,1,8,.35); }
.rl-page .roulette-case::before { inset: 0; opacity: 1; background: radial-gradient(circle at 50% 50%,rgba(145,77,224,.14),transparent 36%),linear-gradient(90deg,rgba(8,5,14,.92),transparent 18% 82%,rgba(8,5,14,.92)); }
.rl-page .rl-game-layout .roulette-case .reel-item { width: 94px; height: 65%; margin-right: 8px; border: 2px solid rgba(255,255,255,.12); border-radius: 14px; font: 900 26px/1 Arial,sans-serif; box-shadow: inset 0 2px 8px rgba(255,255,255,.18),inset 0 -15px 20px rgba(0,0,0,.22),0 12px 20px rgba(0,0,0,.34); transform: perspective(300px) rotateX(2deg); }
.rl-page .rl-game-layout .reel-red { background: linear-gradient(145deg,#f06473,#a51f3e) !important; }
.rl-page .rl-game-layout .reel-purple { background: linear-gradient(145deg,#38d78a,#087b4d) !important; border-color: rgba(126,255,190,.34); }
.rl-page .rl-game-layout .reel-black { background: linear-gradient(145deg,#403a49,#15121a) !important; }
.rl-page .roulette-arrow { top: -2px; left: calc(50% - 13px); border-width: 0 13px 17px; border-color: transparent transparent #f4c95d; filter: drop-shadow(0 4px 9px rgba(244,201,93,.6)); }
.rl-page .roulette-arrow.bottom { bottom: -27px; }
.rl-page .roulette-gradient { height: 2px; background: linear-gradient(90deg,transparent,#f4c95d 48% 52%,transparent); opacity: .62; }
.rl-page .roulette-gradient.bottom { bottom: -27px; }
.rl-winning-result { position:absolute; z-index:14; top:9px; left:50%; display:flex; min-width:66px; align-items:center; justify-content:center; gap:7px; padding:6px 10px; border:1px solid rgba(244,201,93,.3); border-radius:999px; background:rgba(7,4,12,.88); box-shadow:0 8px 24px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.07); opacity:0; pointer-events:none; transform:translate(-50%,-8px) scale(.92); transition:opacity .2s,transform .25s; }
.rl-winning-result small { color:#877c8d; font-size:7px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.rl-winning-result strong { color:#f4c95d; font:900 16px/1 var(--site-font-display); }
.roulette-case.is-result .rl-winning-result.is-visible { opacity:1; transform:translate(-50%,0) scale(1); }
.roulette-case.result-red .rl-winning-result { border-color:rgba(255,99,121,.42); box-shadow:0 8px 26px rgba(222,49,78,.25),inset 0 1px rgba(255,255,255,.08); }
.roulette-case.result-red .rl-winning-result strong { color:#ff7588; }
.roulette-case.result-purple .rl-winning-result { border-color:rgba(59,217,141,.42); box-shadow:0 8px 26px rgba(28,190,112,.24),inset 0 1px rgba(255,255,255,.08); }
.roulette-case.result-purple .rl-winning-result strong { color:#55e39d; }
.roulette-case.result-black .rl-winning-result strong { color:#eee8f2; }
.rl-page .roulette-case.is-result .reel-item.is-winning { position:relative; z-index:8; border-color:#fff!important; filter:brightness(1.2) saturate(1.12); transform:perspective(300px) rotateX(2deg) scale(1.12)!important; box-shadow:inset 0 0 0 3px rgba(255,255,255,.32),0 0 0 3px #f4c95d,0 0 34px rgba(244,201,93,.68),0 18px 28px rgba(0,0,0,.5)!important; animation:roulette-winner-pulse 1.15s ease-in-out infinite alternate; }
.rl-page .roulette-case.is-result::after { content:''; position:absolute; z-index:7; top:0; bottom:0; left:50%; width:3px; background:linear-gradient(transparent,#f4c95d 24% 76%,transparent); box-shadow:0 0 16px rgba(244,201,93,.8); pointer-events:none; transform:translateX(-50%); }
.rl-page .shadow-left { background: linear-gradient(90deg,#09060f,transparent) !important; }
.rl-page .shadow-right { background: linear-gradient(270deg,#09060f,transparent) !important; }
.rl-page .rl-history { width: min(100%,700px); align-self: center; padding: 11px 12px; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; background: rgba(5,3,10,.25); }
.rl-page .rl-rolls .pick-ball { border: 1px solid rgba(255,255,255,.1); border-radius: 8px !important; box-shadow: inset 0 1px rgba(255,255,255,.12); }
.rl-page .rl-hundred { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.06); }
.rl-page .rl-hundred-num { color: #a49aa9; font-size: 11px; }
.rl-page .rl-panels-wrap { gap: 14px; margin-bottom: 0; }
.rl-page .rl-panel { border-color: rgba(255,255,255,.07); border-radius: 16px; background: linear-gradient(145deg,rgba(29,21,40,.92),rgba(16,12,24,.96)); box-shadow: 0 15px 35px rgba(5,2,12,.2); }
.rl-page .rl-panel-color { height: 4px; }
.rl-page .rl-color-red { background: linear-gradient(90deg,#a62240,#f36575); }
.rl-page .rl-color-purple { background: linear-gradient(90deg,#08794a,#3bd98d); }
.rl-page .rl-color-black { background: linear-gradient(90deg,#18141e,#5a5262); }
.rl-page .rl-panel-hdr { min-height: 52px; padding: 9px 14px; }
.rl-page .rl-panel-title { font-size: 13px; }
.rl-page .rl-mult { display: inline-flex; margin-left: 5px; padding: 2px 6px; border-radius: 5px; background: rgba(255,255,255,.055); color: #9b909f; font-size: 10px; }
.rl-page .rl-panel-stats { color: #817783; font-size: 10px; }
.rl-page .rl-panel-high { padding: 10px 14px; background: rgba(5,3,10,.2); }
.rl-page .roulette-highicon { width: 34px !important; height: 34px !important; border: 2px solid rgba(163,103,241,.24); }
.rl-page .rl-panel-high-info .roulette-highname { font-size: 12px; }
.rl-page .rl-high-label { color: #6f6675; font-size: 9px; }
.rl-page .rl-panel-mybet { padding: 8px 14px; border-bottom: 1px solid rgba(255,255,255,.045); color: #7e7484; }
.rl-page .rl-panel-mybet .roulette-mytotal { color: #f4c95d; font-weight: 700; }
.rl-page .rl-betslist { max-height: 245px; padding: 8px; }
.rl-page .rl-betslist .roulette-betitem { min-height: 42px; border: 1px solid rgba(255,255,255,.05); border-radius: 9px; background: rgba(255,255,255,.025) !important; }

/* Unified roulette bets table ------------------------------------------ */
.rl-page .rl-bets-table {
    margin-bottom: 0;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 17px;
    background: linear-gradient(145deg,rgba(29,21,40,.94),rgba(14,10,21,.98));
    box-shadow: 0 18px 42px rgba(5,2,12,.24),inset 0 1px rgba(255,255,255,.03);
}
.rl-bets-table-head {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.rl-bets-kicker { display: block; margin-bottom: 3px; color: #796e80; font-size: 8px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rl-bets-table-head h2 { margin: 0; color: #f5f1f7; font-size: 16px; line-height: 1.15; }
.rl-bets-overview { display: flex; align-items: stretch; gap: 7px; }
.rl-bets-overview > span {
    display: flex;
    min-width: 72px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 10px;
    background: rgba(5,3,10,.28);
    color: #b7acbd;
}
.rl-bets-overview > span i { color: #a775e3; }
.rl-bets-overview > span small { color: #796f80; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.rl-bets-overview > span b { color: #e6dfea; font-size: 12px; }
.rl-bets-overview .rl-bets-mine { border-color: rgba(244,201,93,.13); background: rgba(244,201,93,.045); }
.rl-bets-overview .rl-bets-mine b { color: #f4c95d; }
.rl-bets-colors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; padding: 10px 18px; border-bottom: 1px solid rgba(255,255,255,.055); background: rgba(5,3,10,.15); }
.rl-color-total { display: flex; min-width: 0; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.05); border-radius: 9px; color: #938898; font-size: 10px; font-weight: 750; }
.rl-color-total > i { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; }
.rl-color-total > b { margin-left: auto; color: #d8cfdc; font-size: 11px; }
.rl-color-total > small { color: #6f6575; font-size: 9px; }
.rl-color-total.is-red > i { background: #ef5d73; box-shadow: 0 0 9px rgba(239,93,115,.5); }
.rl-color-total.is-green > i { background: #3bd98d; box-shadow: 0 0 9px rgba(59,217,141,.45); }
.rl-color-total.is-black > i { background: #777080; box-shadow: 0 0 9px rgba(130,120,140,.35); }
.rl-bets-scroll { position: relative; overflow-x: auto; }
.rl-bets-grid { display: grid; grid-template-columns: minmax(180px,1.5fr) minmax(120px,.8fr) minmax(100px,.7fr) minmax(100px,.7fr); align-items: center; column-gap: 12px; min-width: 620px; }
.rl-bets-grid-header { min-height: 34px; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.045); color: #6e6474; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.rl-bets-body { max-height: 310px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.18) transparent; }
.rl-bets-body::-webkit-scrollbar { width: 5px; }
.rl-bets-body::-webkit-scrollbar-thumb { border-radius: 99px; background: rgba(255,255,255,.17); }
.rl-bets-body .roulette-betitem { min-height: 52px; padding: 6px 18px; border-bottom: 1px solid rgba(255,255,255,.04); color: #c8bfcd; font-size: 11px; transition: background .2s,border-color .2s; }
.rl-bets-body .roulette-betitem:last-child { border-bottom: 0; }
.rl-bets-body .roulette-betitem:hover { background: rgba(255,255,255,.025); }
.rl-bet-user { display: flex; min-width: 0; align-items: center; gap: 9px; color: #eee8f1; font-weight: 700; }
.rl-bet-user .avatar-field,.rl-bet-user img { flex: 0 0 auto; }
.rl-pick-badge { display: inline-flex; min-width: 82px; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid rgba(255,255,255,.065); border-radius: 8px; background: rgba(255,255,255,.025); color: #b9afbe; font-size: 9px; font-weight: 800; }
.rl-pick-badge > i { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; }
.rl-pick-badge > small { margin-left: auto; color: #716777; font-size: 8px; }
.rl-pick-badge.is-red > i { background: #ef5d73; }
.rl-pick-badge.is-purple > i { background: #3bd98d; }
.rl-pick-badge.is-black > i { background: #777080; }
.rl-bet-amount { color: #eee8f0; font-weight: 750; }
.rl-bet-amount i { margin-left: 3px; color: #f4c95d; font-size: 9px; }
.roulette-row-payout { color: #a982db; font-weight: 800; }
.rl-bets-body .roulette-betitem.is-win { border-color: rgba(59,217,141,.16); background: rgba(34,178,109,.07); }
.rl-bets-body .roulette-betitem.is-win .roulette-row-payout { color: #55dca0; }
.rl-bets-body .roulette-betitem.is-loss { opacity: .58; }
.rl-bets-body .roulette-betitem.is-loss .roulette-row-payout { color: #8b808f; }
.rl-bets-empty { display: flex; min-height: 82px; align-items: center; justify-content: center; gap: 8px; color: #756b7b; font-size: 11px; }
.rl-bets-empty i { color: #68488d; }
@media (max-width: 900px) {
    .rl-page .rl-controls { width: 280px; min-width: 250px; padding: 18px; }
    .rl-page .rl-panels-wrap { grid-template-columns: 1fr; }}
@media (max-width: 768px), (pointer: coarse) and (max-width: 1199px) and (max-height: 600px) and (orientation: landscape) {
    .rl-page { padding: 16px 12px 34px; }
    .rl-how-button { width: 36px; padding: 0; justify-content: center; font-size: 0; }
    .rl-how-button i { font-size: 13px; }
    .rl-page .rl-game-layout { flex-direction: column; min-height: 0; border-radius: 16px; }
    .rl-page .rl-stage { order: 1; }
    .rl-page .rl-controls { order: 2; width: 100%; min-width: 0; border-top: 1px solid rgba(255,255,255,.07); border-right: 0; }
    .rl-page .rl-game-layout .roulette-case { height: 124px; padding: 20px 0; }
    .rl-page .rl-game-layout .roulette-case .reel-item { width: 78px; font-size: 22px; }
    .rl-bets-table-head { align-items: flex-start; padding: 13px 14px; }
    .rl-bets-overview { gap: 4px; }
    .rl-bets-overview > span { min-width: 0; min-height: 38px; padding: 5px 7px; }
    .rl-bets-overview > span small { display: none; }
    .rl-bets-colors { padding: 8px 14px; gap: 4px; }
    .rl-color-total { padding: 7px; }
    .rl-color-total > span { display: none; }
    .rl-bets-grid-header,.rl-bets-body .roulette-betitem { padding-left: 14px; padding-right: 14px; }}
@media (max-width: 480px) {
    .rl-page-icon { width: 40px; height: 40px; border-radius: 12px; }
    .rl-page-identity h1 { font-size: 20px; }
    .rl-top-fair { width: 36px; padding: 0; justify-content: center; font-size: 0; }
    .rl-top-fair i { font-size: 13px; }
    .rl-page .rl-display-area { padding: 18px 10px; }
    .rl-page .rl-input-row { flex-wrap: wrap; }
    .rl-page .rl-chips { width: 100%; }
    .rl-page .rl-chip { flex: 1; }
    .rl-control-head { align-items: flex-start; }}
.poker-page .pk-away-badge.hidden { display:none!important; }
.pk-share-sheet.hidden { display:none!important; }
.poker-page .pk-preactions,.poker-page .pk-preactions.hidden { min-width:278px;display:flex!important;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap; }
.poker-page .pk-preaction-btn.hidden { display:inline-flex!important;align-items:center;justify-content:center; }
.poker-page .pk-run-it-modal.hidden { display:none; }
.cb-page .hidden { display: none !important; }
.ft-page .hidden { display: none !important; }
.ft-public-title-icon > .fa { display: block; width: 1em; height: 1em; margin-top: 12px; font-size: 16px; line-height: 1; text-align: center; }

/* Shared mobile game flow ------------------------------------------------ */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .rl-controls .rl-bet-btns { order:-100!important; }
    body.is-game-page .rl-controls .rl-bet-btn { min-height:52px!important;font-weight:850!important; }}

/* Coin Flip mobile game scene ------------------------------------------- */
@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .cf-page .cf-actions.hidden { display:none!important; }}

/* Chicken mobile game scene --------------------------------------------- */
@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .ck-page .ck-actions.hidden { display:none!important; }}

/* Blackjack mobile game scene ------------------------------------------- */
@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .bj-page .bj-actions.hidden { display:none!important; }}

/* Roulette mobile game scene --------------------------------------------- */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    /* Player lists are useful on desktop, but on a phone they compete with
       the only two primary tasks: watching the reel and placing a bet. */
    body.is-game-page .rl-page .rl-panels-wrap,
    body.is-game-page .rl-page .rl-panel,
    body.is-game-page .rl-page .roulette-betslist { display:none!important; }}

@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-game-layout {
        grid-template-rows:minmax(0,1fr) 142px!important;gap:6px!important;
    }
    body.is-game-page .rl-page .rl-stage {
        grid-row:1!important;order:1!important;padding:0!important;display:block!important;overflow:hidden!important;
    }
    body.is-game-page .rl-page .rl-header { display:none!important; }
    body.is-game-page .rl-page .rl-display-area {
        width:100%!important;height:100%!important;min-height:0!important;padding:7px!important;display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:32px 4px minmax(0,1fr)!important;gap:6px!important;overflow:hidden!important;box-sizing:border-box!important;
    }
    body.is-game-page .rl-page .rl-timer-row {
        grid-row:1!important;min-height:32px!important;height:32px!important;margin:0!important;padding:0 11px!important;align-self:stretch!important;justify-self:center!important;
    }
    body.is-game-page .rl-page .rl-timer-text { max-width:240px!important;overflow:hidden!important;font-size:10px!important;text-overflow:ellipsis!important;white-space:nowrap!important; }
    body.is-game-page .rl-page .rl-progress-wrap {
        grid-row:2!important;width:100%!important;height:4px!important;margin:0!important;align-self:stretch!important;
    }
    body.is-game-page .rl-page .rl-reel-label { display:none!important; }
    body.is-game-page .rl-page .rl-game-layout .roulette-case {
        grid-row:3!important;width:100%!important;height:100%!important;min-height:0!important;max-height:190px!important;margin:auto!important;padding:13px 0!important;
        align-self:center!important;border-radius:15px!important;overflow:hidden!important;box-sizing:border-box!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case .reel-item {
        width:72px!important;height:72%!important;margin-right:6px!important;border-radius:10px!important;font-size:20px!important;
    }
    body.is-game-page .rl-page .roulette-arrow { left:calc(50% - 10px)!important;border-width:0 10px 13px!important; }
    body.is-game-page .rl-page .roulette-arrow.bottom { bottom:-21px!important; }
    body.is-game-page .rl-page .roulette-gradient.bottom { bottom:-21px!important; }

    body.is-game-page .rl-page .rl-controls {
        grid-row:2!important;order:2!important;padding:8px!important;display:grid!important;
        grid-template-columns:1fr!important;grid-template-rows:auto auto!important;gap:10px!important;overflow:hidden!important;
        align-content:start!important;
    }
    body.is-game-page .rl-page .rl-bet-btns {
        grid-row:1!important;order:0!important;width:100%!important;margin:0!important;display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;transform:none!important;
    }
    body.is-game-page .rl-page .rl-bet-btn {
        width:100%!important;padding:0 3px!important;display:flex!important;align-items:center!important;justify-content:center!important;
        border-radius:11px!important;font-weight:850!important;
    }
    body.is-game-page .rl-page .rl-bet-btn::before { display:none!important; }
    body.is-game-page .rl-page .rl-bet-main { font-size:10px!important;text-align:center!important; }
    body.is-game-page .rl-page .rl-bet-sub { font-size:8px!important;text-align:center!important; }
    body.is-game-page .rl-page .rl-segment { grid-row:2!important;margin:0!important;gap:6px!important;overflow:hidden!important; }
    body.is-game-page .rl-page .rl-label { margin:0!important;font-size:10px!important;line-height:1.2!important; }
    body.is-game-page .rl-page .rl-input-row {
        height:54px!important;min-height:54px!important;padding:5px 9px!important;flex-wrap:nowrap!important;gap:7px!important;overflow:hidden!important;
    }
    body.is-game-page .rl-page .rl-input { min-width:52px!important;font-size:16px!important; }
    body.is-game-page .rl-page .rl-chips { width:auto!important;margin:0!important;display:flex!important;flex:0 0 auto!important;gap:6px!important; }
    body.is-game-page .rl-page .rl-chip {
        width:41px!important;min-width:41px!important;height:40px!important;min-height:40px!important;padding:0 4px!important;flex:0 0 41px!important;
        border-radius:9px!important;font-size:9px!important;font-weight:850!important;
    }}

@media (max-width:350px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-game-layout { grid-template-rows:minmax(0,1fr) 134px!important; }
    body.is-game-page .rl-page .rl-controls { grid-template-rows:54px 61px!important; }
    body.is-game-page .rl-page .rl-bet-btns,
    body.is-game-page .rl-page .rl-bet-btn { height:54px!important;min-height:54px!important; }
    body.is-game-page .rl-page .rl-input-row { height:50px!important;min-height:50px!important; }
    body.is-game-page .rl-page .rl-chip { width:35px!important;min-width:35px!important;height:37px!important;min-height:37px!important;flex-basis:35px!important; }}

@media (max-width:768px) and (orientation:landscape), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .rl-page .rl-controls { grid-column:1!important;grid-row:1!important;order:1!important; }
    body.is-game-page .rl-page .rl-stage { grid-column:2!important;grid-row:1!important;order:2!important;padding:0!important;overflow:hidden!important; }
    body.is-game-page .rl-page .rl-header { display:none!important; }
    body.is-game-page .rl-page .rl-display-area {
        width:100%!important;height:100%!important;padding:5px!important;display:grid!important;grid-template-rows:28px 3px minmax(0,1fr)!important;gap:4px!important;overflow:hidden!important;
    }
    body.is-game-page .rl-page .rl-timer-row { min-height:28px!important;height:28px!important;padding:0 9px!important; }
    body.is-game-page .rl-page .rl-progress-wrap { width:100%!important;height:3px!important;margin:0!important; }
    body.is-game-page .rl-page .rl-reel-label { display:none!important; }
    body.is-game-page .rl-page .rl-game-layout .roulette-case { width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:10px 0!important;overflow:hidden!important; }
    body.is-game-page .rl-page .rl-game-layout .roulette-case .reel-item { width:68px!important;margin-right:5px!important;font-size:18px!important; }}

/* Roulette portrait reel emphasis --------------------------------------- */
@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-display-area {
        padding:8px 5px!important;grid-template-rows:32px 4px minmax(0,1fr)!important;gap:7px!important;
        background:radial-gradient(ellipse at 50% 61%,rgba(148,78,226,.2),transparent 57%)!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case {
        width:100%!important;height:100%!important;max-height:260px!important;padding:22px 0!important;
        border-color:rgba(244,201,93,.2)!important;border-radius:22px!important;
        background:radial-gradient(circle at 50% 48%,rgba(148,78,226,.2),transparent 38%),linear-gradient(155deg,#251831,#08060e 72%)!important;
        box-shadow:inset 0 1px rgba(255,255,255,.07),inset 0 -30px 50px rgba(0,0,0,.34),0 22px 48px rgba(3,1,8,.4)!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case .reel-item {
        width:92px!important;height:74%!important;min-height:92px!important;margin-right:8px!important;
        border-width:2px!important;border-radius:15px!important;font-size:27px!important;
        box-shadow:inset 0 2px 10px rgba(255,255,255,.2),inset 0 -18px 24px rgba(0,0,0,.24),0 14px 24px rgba(0,0,0,.38)!important;
    }
    body.is-game-page .rl-page .roulette-arrow {
        left:calc(50% - 14px)!important;border-width:0 14px 19px!important;filter:drop-shadow(0 5px 10px rgba(244,201,93,.68))!important;
    }
    body.is-game-page .rl-page .roulette-arrow.bottom { bottom:-29px!important; }
    body.is-game-page .rl-page .roulette-gradient.bottom { bottom:-29px!important; }
    body.is-game-page .rl-page .shadow-left { width:28%!important;background:linear-gradient(90deg,#09060f 5%,transparent)!important; }
    body.is-game-page .rl-page .shadow-right { width:28%!important;background:linear-gradient(270deg,#09060f 5%,transparent)!important; }}

@media (max-width:350px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-game-layout .roulette-case { max-height:225px!important;padding:18px 0!important; }
    body.is-game-page .rl-page .rl-game-layout .roulette-case .reel-item {
        width:82px!important;min-height:82px!important;margin-right:7px!important;font-size:23px!important;
    }}

/* The roulette reel is the primary mobile scene. */
@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-display-area {
        grid-template-rows:32px 4px minmax(0,1fr) 42px!important;
    }
    body.is-game-page .rl-page .rl-history {
        grid-row:4!important;
        width:100%!important;
        height:42px!important;
        min-height:42px!important;
        margin:0!important;
        padding:5px 8px!important;
        align-self:stretch!important;
        gap:7px!important;
        overflow:hidden!important;
        border:1px solid rgba(255,255,255,.07)!important;
        border-radius:10px!important;
        background:rgba(7,4,12,.52)!important;
        box-sizing:border-box!important;
    }
    body.is-game-page .rl-page .rl-history::before {
        content:'Last wins';
        flex:0 0 auto;
        color:#776c7e;
        font-size:7px;
        font-weight:850;
        letter-spacing:.08em;
        text-transform:uppercase;
    }
    body.is-game-page .rl-page .rl-rolls {
        min-width:0!important;
        flex:1!important;
        flex-wrap:nowrap!important;
        justify-content:flex-end!important;
        gap:4px!important;
        overflow:hidden!important;
    }
    body.is-game-page .rl-page .rl-rolls .pick-ball {
        width:27px!important;
        min-width:27px!important;
        height:27px!important;
        border-radius:8px!important;
        font-size:9px!important;
    }
    body.is-game-page .rl-page .rl-hundred { display:none!important; }}

@media (max-width:768px) and (orientation:landscape), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .rl-page .rl-display-area { grid-template-rows:28px 3px minmax(0,1fr) 32px!important; }
    body.is-game-page .rl-page .rl-history {
        grid-row:4!important;width:100%!important;height:32px!important;min-height:32px!important;margin:0!important;padding:3px 7px!important;
        gap:5px!important;overflow:hidden!important;border-radius:8px!important;box-sizing:border-box!important;
    }
    body.is-game-page .rl-page .rl-history::before { content:'Last wins';color:#776c7e;font-size:6px;font-weight:850;letter-spacing:.07em;text-transform:uppercase; }
    body.is-game-page .rl-page .rl-rolls { min-width:0!important;flex-wrap:nowrap!important;justify-content:flex-end!important;gap:3px!important;overflow:hidden!important; }
    body.is-game-page .rl-page .rl-rolls .pick-ball { width:22px!important;min-width:22px!important;height:22px!important;border-radius:6px!important;font-size:7px!important; }
    body.is-game-page .rl-page .rl-hundred { display:none!important; }}

/* Poker mobile table ---------------------------------------------------- */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .poker-page .pk-lobby.hidden { display:none!important; }
    body.is-game-page .poker-page .pk-bottombar.hidden { display:none!important; }
    body.is-game-page .poker-page .pk-actions.hidden { display:none!important; }}

/* Case Battles mobile app ---------------------------------------------- */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .cb-page .cb-lobby.hidden { display:none!important; }
    body.is-game-page .cb-page .cb-room.hidden { display:none!important; }
    body.is-game-page .cb-page .cb-invite-join.hidden { display:none!important; }}

/* Aviamasters mobile flight scene -------------------------------------- */
@media (max-width:768px) and (orientation:portrait) {

    body.is-game-page .av-page .av-autobet-segment:has(.av-autobet-panel:not(.hidden)) {
        position:fixed!important;z-index:9500!important;right:max(8px,var(--mobile-safe-right,0px))!important;bottom:calc(var(--mobile-tabs-h,64px) + var(--mobile-safe-bottom,0px) + 8px)!important;
        left:max(8px,var(--mobile-safe-left,0px))!important;width:auto!important;height:auto!important;max-height:min(64dvh,470px)!important;padding:10px!important;
        display:flex!important;flex-direction:column!important;gap:8px!important;overflow-y:auto!important;border-color:rgba(178,112,235,.3)!important;border-radius:17px!important;
        background:linear-gradient(155deg,#21172e,#100d18 76%)!important;box-shadow:0 24px 70px rgba(0,0,0,.65)!important;
    }}

@media (max-width:768px) and (orientation:landscape), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .av-page .av-autobet-segment:has(.av-autobet-panel:not(.hidden)) {
        position:fixed!important;z-index:9500!important;inset:8px!important;width:auto!important;height:auto!important;max-height:calc(100dvh - 16px)!important;padding:9px!important;
        display:flex!important;flex-direction:column!important;gap:6px!important;overflow-y:auto!important;border-radius:15px!important;background:linear-gradient(155deg,#21172e,#100d18 76%)!important;box-shadow:0 24px 70px rgba(0,0,0,.65)!important;
    }}
.bnz-free-banner:not(.hidden) { animation:bnz-free-aura 1.65s ease-in-out infinite; }

/* Desktop: keep every primary game surface on the left and its controls on
   the right. Mobile layouts continue to stack the surface above the controls
   and retain their route-specific sizing. */
@media (min-width:769px) {
    .rl-game-layout { flex-direction:row-reverse; }}
.er-last-number.is-red,.er-history-number.is-red { background: linear-gradient(145deg,#d93b4d,#8e1928); color: #fff; }
.er-last-number.is-black,.er-history-number.is-black { background: linear-gradient(145deg,#3a3348,#16121f); color: #ddd6e6; }
.er-last-number.is-green,.er-history-number.is-green { background: linear-gradient(145deg,#22c07a,#0d7346); color: #fff; }
.er-pocket.is-red { fill: #c9283c; }
.er-pocket.is-black { fill: #1a1226; }
.er-pocket.is-green { fill: #0f7a45; }
.er-result-number.is-red { border-color: rgba(217,59,77,.5); background: linear-gradient(145deg,#d93b4d,#8e1928); color: #fff; }
.er-result-number.is-black { border-color: rgba(120,110,140,.4); background: linear-gradient(145deg,#3a3348,#16121f); color: #ece7f3; }
.er-result-number.is-green { border-color: rgba(34,192,122,.5); background: linear-gradient(145deg,#22c07a,#0d7346); color: #fff; }
.er-field.is-red .er-field-bg { fill: #b02436; }
.er-field.is-black .er-field-bg { fill: #171122; }
.er-field.is-green .er-field-bg { fill: #0f7a45; }
.er-diamond.is-red { fill: #d93b4d; }
.er-diamond.is-black { fill: #241c33; stroke: rgba(255,255,255,.3); stroke-width: 1.2; }

/* Mobile roulette scenes --------------------------------------------------
   The shared mobile game shell has a deliberately generic 42/58 split. Both
   roulette games need more visual space, while their controls can be made
   much shorter. Keep scrolling inside the relevant panel instead of letting
   the entire app scene move underneath the bottom navigation. */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .rl-page .rl-game-layout {
        grid-template-rows:minmax(225px,52%) minmax(0,48%)!important;
    }
    body.is-game-page .rl-page .rl-stage {
        grid-row:1!important;
        order:1!important;
    }
    body.is-game-page .rl-page .rl-controls {
        grid-row:2!important;
        order:2!important;
        gap:7px!important;
        padding:9px!important;
        overflow-x:hidden!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
    }
    body.is-game-page .rl-page .rl-bets-table {
        display:none!important;
    }
    body.is-game-page .rl-page .rl-display-area {
        padding:8px 9px 9px!important;
        gap:7px!important;
        justify-content:flex-start!important;
        overflow:hidden!important;
    }
    body.is-game-page .rl-page .rl-header {
        flex:0 0 36px!important;
    }
    body.is-game-page .rl-page .rl-header-title {
        font-size:11px!important;
    }
    body.is-game-page .rl-page .rl-round-state {
        gap:5px;
        font-size:7px;
        letter-spacing:.03em;
    }
    body.is-game-page .rl-page .rl-timer-row {
        min-height:28px!important;
        padding:0 9px!important;
    }
    body.is-game-page .rl-page .rl-timer-text {
        max-width:230px;
        overflow:hidden;
        font-size:9px!important;
        text-overflow:ellipsis;
    }
    body.is-game-page .rl-page .rl-progress-wrap {
        width:min(100%,520px)!important;
        margin:-3px auto 1px!important;
    }
    body.is-game-page .rl-page .rl-reel-label {
        display:none!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case {
        height:116px!important;
        min-height:116px!important;
        padding:17px 0!important;
        flex:0 0 116px!important;
        border-radius:14px!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case .reel-item {
        width:68px!important;
        margin-right:6px!important;
        border-radius:10px!important;
        font-size:20px!important;
    }
    body.is-game-page .rl-page .rl-history {
        display:none!important;
    }
    body.is-game-page .rl-page .rl-segment {
        gap:6px!important;
    }
    body.is-game-page .rl-page .rl-input-row {
        min-height:0!important;
        gap:7px!important;
        padding:6px 9px!important;
    }
    body.is-game-page .rl-page .rl-input {
        min-height:32px;
        font-size:16px!important;
    }
    body.is-game-page .rl-page .rl-chips {
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:6px!important;
        margin-top:0!important;
        padding-top:6px!important;
    }
    body.is-game-page .rl-page .rl-chip {
        min-width:0!important;
        min-height:40px!important;
        height:40px!important;
        padding:0 6px!important;
        border-radius:9px!important;
        font-size:11px!important;
        touch-action:manipulation;
    }
    body.is-game-page .rl-page .rl-bet-btns {
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:9px!important;
        margin:0!important;
    }
    body.is-game-page .rl-page .rl-bet-btn {
        min-width:0!important;
        min-height:72px!important;
        height:72px!important;
        padding:6px 4px!important;
        flex-direction:column!important;
        align-items:center!important;
        justify-content:center!important;
        gap:4px!important;
        border-radius:12px!important;
        text-align:center;
        touch-action:manipulation;
    }
    body.is-game-page .rl-page .rl-bet-main {
        max-width:100%;
        overflow:hidden;
        font-size:11px!important;
        line-height:1.15;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    body.is-game-page .rl-page .rl-bet-sub {
        font-size:9px!important;
        white-space:nowrap;
    }}

@media (max-width:390px), (max-height:700px) {
    body.is-game-page .rl-page .rl-game-layout {
        grid-template-rows:minmax(205px,50%) minmax(0,50%)!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case {
        height:104px!important;
        min-height:104px!important;
        flex-basis:104px!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case .reel-item {
        width:61px!important;
        font-size:18px!important;
    }
    body.is-game-page .rl-page .rl-bet-btn {
        min-height:66px!important;
        height:66px!important;
    }}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px) {
    body.is-game-page .rl-page .rl-game-layout {
        grid-template-columns:minmax(210px,36%) minmax(0,64%)!important;
        grid-template-rows:minmax(0,1fr)!important;
    }
    body.is-game-page .rl-page .rl-controls {
        grid-column:1!important;
        grid-row:1!important;
    }
    body.is-game-page .rl-page .rl-stage {
        grid-column:2!important;
        grid-row:1!important;
    }
    body.is-game-page .rl-page .rl-game-layout .roulette-case {
        height:112px!important;
        min-height:112px!important;
        flex-basis:112px!important;
    }}

/* Mobile Roulette bet receipt -------------------------------------------
   The desktop live-bets ledger is outside the fixed-height app scene. Keep a
   compact, persistent receipt in the controls and repeat the amount directly
   on every colour button the player has used this round. */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .rl-page .rl-mobile-bet-status {
        display:flex;
        flex:0 0 auto;
        min-width:0;
        align-items:center;
        justify-content:space-between;
        gap:6px;
        padding:5px 7px;
        border:1px solid rgba(169,112,245,.22);
        border-radius:10px;
        background:rgba(9,5,15,.54);
        box-sizing:border-box;
    }
    body.is-game-page .rl-page .rl-mobile-bet-status-head {
        display:flex;
        min-width:0;
        align-items:center;
        gap:5px;
        color:#8f8498;
        font-size:8px;
        font-weight:800;
        white-space:nowrap;
    }
    body.is-game-page .rl-page .rl-mobile-bet-status-head > span { display:none; }
    body.is-game-page .rl-page .rl-mobile-bet-status-head strong {
        overflow:hidden;
        color:#a69dac;
        font-size:9px;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    body.is-game-page .rl-page .rl-mobile-bet-status.has-bets .rl-mobile-bet-status-head strong { color:#f4c95d; }
    body.is-game-page .rl-page .rl-mobile-bet-status.is-pending .rl-mobile-bet-status-head strong { color:#c59af8; }
    body.is-game-page .rl-page .rl-mobile-bet-picks { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:4px; }
    body.is-game-page .rl-page .rl-mobile-bet-pick {
        display:none;
        min-width:0;
        align-items:center;
        gap:4px;
        padding:4px 6px;
        border:1px solid rgba(255,255,255,.08);
        border-radius:7px;
        background:rgba(255,255,255,.04);
        color:#dcd5e1;
        font-size:7px;
        font-weight:800;
        white-space:nowrap;
    }
    body.is-game-page .rl-page .rl-mobile-bet-pick.is-active { display:flex; }
    body.is-game-page .rl-page .rl-mobile-bet-pick > i { width:6px; height:6px; flex:0 0 6px; border-radius:50%; }
    body.is-game-page .rl-page .rl-mobile-bet-pick.is-red > i { background:#f06473; box-shadow:0 0 7px rgba(240,100,115,.55); }
    body.is-game-page .rl-page .rl-mobile-bet-pick.is-green > i { background:#38d78a; box-shadow:0 0 7px rgba(56,215,138,.5); }
    body.is-game-page .rl-page .rl-mobile-bet-pick.is-black > i { background:#8c8493; box-shadow:0 0 7px rgba(160,150,170,.35); }
    body.is-game-page .rl-page .rl-mobile-bet-pick b { color:#fff; font-size:8px; }
    body.is-game-page .rl-page .rl-mobile-bet-pick.is-pending { border-style:dashed; opacity:.82; }

    body.is-game-page .rl-page .rl-bet-own {
        position:absolute;
        z-index:3;
        top:5px;
        right:5px;
        display:none;
        align-items:center;
        gap:3px;
        padding:3px 5px;
        border:1px solid rgba(255,255,255,.2);
        border-radius:999px;
        background:rgba(8,4,12,.72);
        color:#fff;
        font-size:7px;
        line-height:1;
        box-shadow:0 4px 12px rgba(0,0,0,.28);
    }
    body.is-game-page .rl-page .rl-bet-own i { color:#72e4a9; font-size:6px; }
    body.is-game-page .rl-page .rl-bet-btn.has-my-bet,
    body.is-game-page .rl-page .rl-bet-btn.is-pending {
        opacity:1!important;
        border-color:rgba(255,255,255,.56)!important;
        box-shadow:inset 0 0 0 2px rgba(255,255,255,.22),0 0 0 2px rgba(169,112,245,.24)!important;
    }
    body.is-game-page .rl-page .rl-bet-btn.has-my-bet .rl-bet-own,
    body.is-game-page .rl-page .rl-bet-btn.is-pending .rl-bet-own { display:flex; }
    body.is-game-page .rl-page .rl-bet-btn.is-pending .rl-bet-own { border-style:dashed; }
    body.is-game-page .rl-page .rl-bet-btn.is-pending .rl-bet-own i { display:none; }
    body.is-game-page .rl-page .rl-bet-btn.is-pending .rl-bet-own::before { content:'…'; color:#d5adff; font-weight:900; }}

@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-game-layout { grid-template-rows:minmax(0,1fr) 174px!important; }
    body.is-game-page .rl-page .rl-controls {
        grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:30px 58px 58px!important;
        gap:5px!important;
        padding:6px!important;
        overflow:hidden!important;
    }
    body.is-game-page .rl-page .rl-mobile-bet-status { grid-row:1!important; order:0!important; height:30px; }
    body.is-game-page .rl-page .rl-bet-btns { grid-row:2!important; order:1!important; height:58px!important; }
    body.is-game-page .rl-page .rl-bet-btn { height:58px!important; min-height:58px!important; }
    body.is-game-page .rl-page .rl-segment { grid-row:3!important; order:2!important; gap:0!important; }
    body.is-game-page .rl-page .rl-segment > .rl-label { display:none!important; }
    body.is-game-page .rl-page .rl-input-row { height:58px!important; min-height:58px!important; }}

@media (max-width:360px) and (orientation:portrait) {
    body.is-game-page .rl-page .rl-mobile-bet-pick { padding-right:4px; padding-left:4px; }
    body.is-game-page .rl-page .rl-mobile-bet-pick > span { display:none; }}
.nv-page .hidden { display: none !important; }
.nv-field-icon .fa-users, .nv-field-icon .fa-money { margin-top: 8px; }
.nv-public-title-icon > .fa { display: block; width: 1em; height: 1em; margin-top: 12px; font-size: 16px; line-height: 1; text-align: center; }
.rv-page .hidden { display: none !important; }
.rv-public-title-icon > .fa { display: block; width: 1em; height: 1em; margin-top: 12px; font-size: 16px; line-height: 1; text-align: center; }
.bd-page .hidden { display: none !important; }
.bd-public-title-icon > .fa { display: block; width: 1em; height: 1em; margin-top: 12px; font-size: 16px; line-height: 1; text-align: center; }
.nd-page .hidden { display: none !important; }