

.table-container.dice-table {
	margin: 40px 0 0;
	/*text-align: center;*/
}

.table-container.dice-table .table-column {
	padding-left: 40px !important;
}

.table-container.dice-table .table-row {
	border-bottom: 0;	
}

.table-container.dice-table .table-body .table-row {
	padding: 10px 0;
}

.table-container.dice-table .table-row i {
	color: #ffc34c;
	margin-left: 3px;
}

.table-container.dice-table .table-row:nth-child(even) {
	/*border-bottom: 0;*/
	background: var(--site-color-bg-dark);
}

.table-container.dice-table .table-header {
	background: var(--site-color-bg-light);
	border: 0;
	color: #596076;
}

.table-container.dice-table .table-body {
	/*x*/
}

.table-container.dice-table .avatar {
	border-width: 2px;
	margin-right: 5px;
}

.mines-game-layout #minesweeper_cashout.hidden { display: none !important; }
.wheel-risk-btn.active { background: #8d3bde; border-color: #8d3bde; color: #fff; }
.hilo-btn-place.hidden,
.hilo-btn-cashout.hidden { display: none; }
.bj-btn-place.hidden { display: none; }
.bj-actions.hidden { display: none; }
.bcr-side.active { border-color: #8d3bde; background: rgba(141,59,222,0.18); }
.dt-page #dt_side_dragon:hover,.dt-page #dt_side_dragon.active { border-color: rgba(255,107,107,.5); background: linear-gradient(145deg,rgba(210,58,58,.24),rgba(75,20,20,.24)); }
.dt-page #dt_side_tie:hover,.dt-page #dt_side_tie.active { border-color: rgba(244,201,93,.5); background: linear-gradient(145deg,rgba(173,126,30,.22),rgba(71,51,15,.24)); }
.dt-page #dt_side_tiger:hover,.dt-page #dt_side_tiger.active { border-color: rgba(244,150,60,.5); background: linear-gradient(145deg,rgba(186,109,45,.22),rgba(74,42,18,.24)); }
.dt-page #dt_side_dragon.active .dt-side-pays { color: #ff8f8f; }
.dt-page #dt_side_tie.active .dt-side-pays { color: #f4c95d; }
.dt-page #dt_side_tiger.active .dt-side-pays { color: #ffb066; }
.dt-page .dt-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.dt-page .dt-history .table-header { background: rgba(255,255,255,.025); }
.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-speed-btn.active {
    background: rgba(242,181,60,0.16);
    border-color: rgba(242,181,60,0.5);
    color: #f2b53c;
}
.av-splash.hidden { display: none; }
.av-celebration.hidden { display: none; }
.av-stall-warning.hidden { display: none; }
.pk-page .hidden { display: none !important; }
.rl-history.hidden { display: none !important; }
.cr-btn-cashout.hidden { display: none !important; }
.cr-btn-next.hidden { display:none !important; }
.tw-btn-cashout.hidden { display: none !important; }
.pk-risk-btn.active { background: #8d3bde; color: #fff; }
.sl-demo-banner.hidden { display: none; }

/* Compact (tablet + mobile) layout. The sidebar collapses to a drawer at
   1024px, so the responsive tables switch to the compact grid here too. */
@media (max-width: 1024px) {

    .dice-history .table-row {
        grid-template-columns: minmax(0, 1.35fr) minmax(68px, 0.75fr) minmax(54px, 0.6fr) minmax(76px, 0.85fr);
    }

    .dice-history .table-row > .table-column:nth-child(4),
    .dice-history .table-row > .table-column:nth-child(5) {
        display: none;
    }}
.hilo-page .hilo-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.hilo-page .hilo-history .table-header { background: rgba(255,255,255,.025); }
.dice-page .dice-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.dice-page .dice-history .table-header { background: rgba(255,255,255,.025); }
.limbo-page .limbo-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.limbo-page .limbo-history .table-header { background: rgba(255,255,255,.025); }
.wheel-page .wheel-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.wheel-page .wheel-history .table-header { background: rgba(255,255,255,.025); }.rps-page .rps-move:hover:before,.rps-page .rps-move.active:before{opacity:.5;transform:scale(1.4)}.rps-page #rps_move_rock.active{border-color:rgba(168,115,239,.62)!important;box-shadow:inset 0 0 22px rgba(139,77,218,.16),0 8px 20px rgba(50,24,84,.2)}.rps-page #rps_move_rock.active i{color:#b989f5}.rps-page #rps_move_paper.active{border-color:rgba(95,209,207,.55)!important;box-shadow:inset 0 0 22px rgba(63,181,179,.13),0 8px 20px rgba(22,77,76,.18)}.rps-page #rps_move_paper.active i{color:#69d9d5}.rps-page #rps_move_scissors.active{border-color:rgba(244,201,93,.55)!important;box-shadow:inset 0 0 22px rgba(214,166,56,.13),0 8px 20px rgba(85,61,18,.18)}.rps-page #rps_move_scissors.active i{color:#f4d171}
.bj-page .bj-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.bj-page .bj-history .table-header { background: rgba(255,255,255,.025); }
.bcr-page #bcr_side_player:hover,.bcr-page #bcr_side_player.active { border-color: rgba(106,148,255,.5); background: linear-gradient(145deg,rgba(50,93,202,.24),rgba(21,36,81,.24)); }
.bcr-page #bcr_side_tie:hover,.bcr-page #bcr_side_tie.active { border-color: rgba(244,201,93,.5); background: linear-gradient(145deg,rgba(173,126,30,.22),rgba(71,51,15,.24)); }
.bcr-page #bcr_side_banker:hover,.bcr-page #bcr_side_banker.active { border-color: rgba(244,92,122,.5); background: linear-gradient(145deg,rgba(186,45,78,.22),rgba(74,18,36,.24)); }
.bcr-page #bcr_side_player.active .bcr-side-pays { color: #82a6ff; }
.bcr-page #bcr_side_tie.active .bcr-side-pays { color: #f4c95d; }
.bcr-page #bcr_side_banker.active .bcr-side-pays { color: #ff7892; }
.bcr-page .bcr-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.bcr-page .bcr-history .table-header { background: rgba(255,255,255,.025); }
.rps-page .rps-move.active { border-color: rgba(40,199,160,.55); background: linear-gradient(145deg,rgba(24,164,131,.24),rgba(12,68,55,.24)); }
.rps-page .rps-move.active i { color: #28C7A0; }
.rps-page .rps-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.rps-page .rps-history .table-header { background: rgba(255,255,255,.025); }
.kn-page .kn-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.kn-page .kn-history .table-header { background: rgba(255,255,255,.025); }
.ck-page .ck-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.ck-page .ck-history .table-header { background: rgba(255,255,255,.025); }
.cf-page .cf-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.cf-page .cf-history .table-header { background: rgba(255,255,255,.025); }
.minesweeper-page .mines-grid-btn.active { background: linear-gradient(135deg,#7134c9,#9a55e5); color: #fff; box-shadow: 0 6px 13px rgba(91,40,167,.22),inset 0 1px rgba(255,255,255,.14); }
.minesweeper-page .minesweeper-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.minesweeper-page .minesweeper-history .table-header { background: rgba(255,255,255,.025); }
.tw-page .tw-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.tw-page .tw-history .table-header { background: rgba(255,255,255,.025); }
.poker-page .pk-away-badge.hidden { display:none!important; }
.pk-share-sheet.hidden { display:none!important; }
.plinko-page .pk-risk-btn[data-color="green"].active { border-color: rgba(69,213,151,.45) !important; background: linear-gradient(145deg,rgba(36,171,111,.32),rgba(25,105,75,.18)); color: #63e1a6; box-shadow: inset 0 0 16px rgba(35,199,126,.08); }
.plinko-page .pk-risk-btn[data-color="orange"].active { border-color: rgba(239,177,75,.45) !important; background: linear-gradient(145deg,rgba(210,133,42,.32),rgba(118,69,23,.18)); color: #ffc66d; box-shadow: inset 0 0 16px rgba(232,154,46,.08); }
.plinko-page .pk-risk-btn[data-color="red"].active { border-color: rgba(237,86,96,.45) !important; background: linear-gradient(145deg,rgba(197,52,64,.34),rgba(110,28,37,.18)); color: #ff7b85; box-shadow: inset 0 0 16px rgba(226,67,79,.08); }
.plinko-page .pk-history .table-tabs { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.055); background: rgba(255,255,255,.018); }
.plinko-page .pk-history .table-tab-btn { border-radius: 8px; }
.plinko-page .pk-history .table-header { background: rgba(255,255,255,.025); }
.plinko-page .pk-history .table-body .table-row { border-color: rgba(255,255,255,.045); }
.av-page .av-speed-btn.active { border-color:rgba(168,113,255,.45);background:linear-gradient(145deg,rgba(126,61,211,.32),rgba(69,31,118,.24));color:#c99fff;box-shadow:inset 0 0 16px rgba(155,91,235,.08); }
.av-page .av-history .table-tabs { padding:8px 12px;background:rgba(5,3,10,.18); }
.av-page .av-history .table-header { background:rgba(255,255,255,.025); }
.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-preaction-btn.active { border-color:#b47aff;background:linear-gradient(135deg,rgba(133,75,219,.7),rgba(82,43,145,.72));color:#fff;box-shadow:0 0 14px rgba(166,105,255,.22); }
.poker-page .pk-run-it-modal.hidden { display:none; }
.dt-page--duel .dt-side.active::after { opacity:.75; }
#dt_side_dragon.active .dt-side-emblem { border-color:rgba(244,178,74,.38); color:#f4ba58; box-shadow:0 0 18px rgba(229,153,48,.15); }
#dt_side_tie.active .dt-side-emblem { border-color:rgba(244,201,93,.35); color:#f4d273; }
#dt_side_tiger.active .dt-side-emblem { border-color:rgba(174,112,255,.42); color:#c99dff; box-shadow:0 0 18px rgba(147,77,235,.17); }
.dt-page--duel #dt_side_dragon:hover,.dt-page--duel #dt_side_dragon.active { border-color:rgba(237,174,65,.48); background:linear-gradient(145deg,rgba(142,87,23,.3),rgba(59,32,11,.28)); }
.dt-page--duel #dt_side_tiger:hover,.dt-page--duel #dt_side_tiger.active { border-color:rgba(164,97,250,.52); background:linear-gradient(145deg,rgba(103,48,174,.3),rgba(43,20,74,.3)); }
.dt-page--duel #dt_side_dragon.active .dt-side-pays { color:#f4c45d; }
.dt-page--duel #dt_side_tiger.active .dt-side-pays { color:#c99dff; }
.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; }

/* 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; }}

/* 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-runout-toggle button.active { border-color:rgba(193,137,250,.65)!important;background:linear-gradient(145deg,rgba(144,74,211,.45),rgba(87,42,139,.46))!important;color:#fff!important;box-shadow:0 0 0 1px rgba(193,137,250,.1),0 5px 12px rgba(72,29,111,.22)!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 .toggle-switch { transform:scale(.82)!important; }

    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 .toggle-switch { transform:scale(.75)!important; }
    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;
    }}


/* ══════════════ BONANZA (6x5 tumble slot) ══════════════
   Own prefix (.bnz-*) throughout rather than reusing the slots page's .sl-*
   shell: the CSS splitter assigns a rule to a route by matching every
   selector in it, and sharing a prefix would drag this game's rules into
   slots.css and vice versa. */
.bnz-page { width: 100%; }
.page-bonanza .game-back-nav {
    width:100%;
    margin:0 0 8px;
    padding:0 4px;
    align-items:center;
    box-sizing:border-box;
}
.page-bonanza .game-back-home {
    min-height:36px;
    padding:0 12px 0 8px;
    border-radius:10px;
}
.bnz-page.is-busy .bnz-buy-btn,
.bnz-page.is-busy .bnz-autobet-start-btn { opacity: .45; pointer-events: none; }

.bnz-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.bnz-identity { display: flex; align-items: center; gap: 12px; }
.bnz-top-icon {
    width: 44px; height: 44px;
    display: grid; place-items: center;
    border-radius: 12px;
    background: rgba(141,59,222,0.16);
    border: 1px solid rgba(186,134,237,0.28);
}
.bnz-top-icon img { width: 26px; height: 26px; }
.bnz-kicker {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--site-color-main-light);
}
.bnz-identity h1 { margin: 0; font-size: 22px; line-height: 1.2; }
.bnz-top-actions { display: flex; align-items: center; gap: 10px; }
.bnz-how, .bnz-top-fair {
    display: inline-flex; align-items: center; gap: 7px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 8px;
    color: rgba(255,255,255,0.75);
    font-size: 12px;
    padding: 8px 12px;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.bnz-how:hover, .bnz-top-fair:hover { background: rgba(255,255,255,0.1); color: #fff; }

.bnz-layout {
    display: flex;
    border-radius: 8px;
    overflow: hidden;
    min-height: 520px;
    margin-bottom: 24px;
}

/* ── Left panel ── */
.bnz-controls {
    width: clamp(250px, 25vw, 300px);
    min-width: 250px;
    background: #3b274f;
    display: flex;
    flex-direction: column;
    padding: 20px 16px;
    gap: 14px;
    flex-shrink: 0;
}
.bnz-control-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}
.bnz-control-head span {
    display: block;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
}
.bnz-control-head strong { font-size: 14px; color: #fff; }
.bnz-control-balance {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 13px; color: var(--site-color-warning);
    white-space: nowrap;
}
.bnz-segment { display: flex; flex-direction: column; }
.bnz-segment-row { flex-direction: row; align-items: center; gap: 10px; }
.bnz-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255,255,255,0.45);
    margin-bottom: 8px;
}
.bnz-label-inline {
    text-transform: none;
    letter-spacing: normal;
    font-size: 13px;
    color: rgba(255,255,255,0.72);
    margin-bottom: 0;
}
.bnz-label-inline small {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,0.42);
}

.bnz-btn-place {
    background: #8d3bde;
    border: none;
    border-radius: 6px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    height: 48px;
    width: 100%;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    transition: opacity .15s;
}
.bnz-btn-place:hover { opacity: .88; }
.bnz-btn-place.disabled { opacity: .5; cursor: default; pointer-events: none; }

.bnz-input-row {
    display: flex;
    align-items: center;
    background: rgba(0,0,0,0.25);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 6px;
    overflow: hidden;
}
.bnz-input-icon { padding: 0 10px; font-size: 13px; color: rgba(255,255,255,0.4); flex-shrink: 0; }
.bnz-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: #fff;
    font-size: 14px;
    padding: 10px 0;
    min-width: 0;
}
.bnz-chips { display: flex; border-left: 1px solid rgba(255,255,255,0.08); }
.bnz-chip {
    background: transparent;
    border: none;
    border-left: 1px solid rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.5);
    font-size: 11px;
    padding: 6px 7px;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.bnz-chip:first-child { border-left: none; }
.bnz-chip:hover { background: rgba(255,255,255,0.08); color: #fff; }

/* Total cost: the stake is not what leaves the balance once ante or a buy is
   in play, so this line is always visible and turns red past the per-round cap. */
.bnz-cost-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    background: rgba(0,0,0,0.22);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 6px;
    padding: 8px 10px;
}
.bnz-cost-row b { color: #fff; font-size: 14px; }
.bnz-cost-row.is-over { border-color: rgba(255,95,86,0.6); }
.bnz-cost-row.is-over b { color: var(--site-color-danger); }

.bnz-buy-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: linear-gradient(135deg, rgba(246,196,83,0.22), rgba(246,196,83,0.06));
    border: 1px solid rgba(246,196,83,0.4);
    border-radius: 8px;
    color: #fff;
    padding: 11px 12px;
    cursor: pointer;
    transition: background .15s, border-color .15s, transform .1s;
}
.bnz-buy-btn i { color: var(--site-color-warning); font-size: 16px; }
.bnz-buy-btn span span { display: block; font-size: 13px; font-weight: 700; }
.bnz-buy-btn small { display: block; font-size: 11px; color: rgba(255,255,255,0.5); }
.bnz-buy-btn:hover { background: linear-gradient(135deg, rgba(246,196,83,0.3), rgba(246,196,83,0.1)); }
.bnz-buy-btn.is-armed {
    background: linear-gradient(135deg, rgba(255,95,86,0.28), rgba(255,95,86,0.1));
    border-color: rgba(255,95,86,0.7);
    animation: bnz-arm-pulse 1s ease-in-out infinite;
}
.bnz-buy-btn.is-unaffordable { opacity: .45; pointer-events: none; }
.bnz-buy-btn:disabled { opacity: .45; pointer-events: none; }

/* Autobet */
.bnz-autobet-head { display: flex; align-items: center; justify-content: space-between; }
.bnz-autobet-panel {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    padding: 10px;
}
.bnz-autobet-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    color: rgba(255,255,255,0.6);
}
.bnz-autobet-input {
    width: 84px;
    background: rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 5px;
    color: #fff;
    font-size: 12px;
    padding: 5px 7px;
    text-align: right;
}
.bnz-autobet-input:disabled { opacity: .45; }
.bnz-autobet-check { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.bnz-autobet-note { font-size: 11px; color: rgba(255,255,255,0.35); }
.bnz-autobet-start-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--site-color-cta);
    border: none; border-radius: 6px;
    color: #fff; font-size: 12px; font-weight: 700;
    padding: 9px 12px; cursor: pointer;
}
.bnz-autobet-start-btn:disabled { opacity: .45; pointer-events: none; }
.bnz-autobet-status {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    font-size: 11px; color: rgba(255,255,255,0.55);
}
.bnz-autobet-pnl.positive { color: var(--site-color-success); }
.bnz-autobet-pnl.negative { color: var(--site-color-danger); }
.bnz-autobet-stop-btn {
    background: rgba(255,95,86,0.16);
    border: 1px solid rgba(255,95,86,0.4);
    border-radius: 5px;
    color: var(--site-color-danger);
    font-size: 11px;
    padding: 4px 8px;
    cursor: pointer;
}

/* Paytable */
.bnz-paytable {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: rgba(0,0,0,0.2);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 6px;
    padding: 8px 10px;
}
.bnz-pay-row {
    display: grid;
    grid-template-columns: 30px 1fr 1fr 1fr;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}
.bnz-pay-head-row span { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,0.35); text-align: right; }
.bnz-pay-icon img { width: 22px; height: 22px; display: block; }
.bnz-pay-mult { font-weight: 700; color: var(--site-color-main-light); text-align: right; }
.bnz-pay-wide { grid-column: span 3; font-size: 11px; }
.bnz-pay-divider { height: 1px; background: rgba(255,255,255,0.08); margin: 6px 0; }
.bnz-pay-blurb { font-size: 11px; line-height: 1.6; color: rgba(255,255,255,0.55); }
.bnz-pay-blurb b { display: inline-flex; align-items: center; gap: 5px; color: #fff; }
.bnz-pay-blurb img { width: 18px; height: 18px; }

.bnz-note {
    display: flex; gap: 8px;
    font-size: 11px; line-height: 1.55;
    color: rgba(255,255,255,0.4);
}
.bnz-note i { margin-top: 2px; }

/* ── Right side: the board ── */
.bnz-stage {
    flex: 1;
    min-width: 0;
    background: #2b2333;
    display: flex;
    flex-direction: column;
}
.bnz-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.bnz-header-left { display: flex; align-items: center; gap: 9px; }
.bnz-header-icon { width: 20px; height: 20px; }
.bnz-header-title { font-size: 14px; font-weight: 700; }
.bnz-info-icon { color: rgba(255,255,255,0.35); cursor: pointer; }
.bnz-info-icon:hover { color: #fff; }
.bnz-round-state {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 11px; color: rgba(255,255,255,0.45);
}
.bnz-round-state i {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--site-color-success);
    box-shadow: 0 0 8px rgba(46,227,111,0.7);
}

.bnz-board-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 18px;
    gap: 12px;
}
.bnz-cabinet {
    width: 100%;
    max-width: 620px;
    border-radius: 16px;
    background: linear-gradient(160deg, #4a2a6b, #241238);
    border: 1px solid rgba(186,134,237,0.25);
    box-shadow: 0 20px 50px rgba(0,0,0,0.35);
    overflow: hidden;
}
.bnz-cabinet-head, .bnz-cabinet-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 14px;
    font-size: 11px;
    color: rgba(255,255,255,0.55);
    background: rgba(0,0,0,0.22);
}
.bnz-cabinet-head span span { font-weight: 700; color: #fff; }
.bnz-cabinet-foot { justify-content: center; gap: 12px; }
.bnz-cabinet-foot i { color: var(--site-color-main-light); font-size: 9px; }

.bnz-machine {
    position: relative;
    /* The free-spin counter and the tumble chip live in this top band rather
       than floating over the grid -- overlaying them hid the top row of
       symbols exactly when the bonus made that row worth watching. The band
       is always reserved so the grid does not jump when they appear. */
    padding: 46px 14px 14px;
}

.bnz-grid {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(5, 1fr);
    gap: 5px;
    aspect-ratio: 6 / 5;
}
.bnz-cell {
    position: relative;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(0,0,0,0.28);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}
.bnz-symbol {
    width: 78%;
    height: 78%;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
}
.bnz-cell-bomb { background: rgba(255,210,74,0.1); box-shadow: inset 0 0 0 1px rgba(255,210,74,0.3); }
.bnz-bomb-value {
    position: absolute;
    bottom: 6%;
    left: 50%;
    transform: translateX(-50%);
    font-size: clamp(9px, 1.5vw, 13px);
    font-weight: 800;
    color: #ffd24a;
    text-shadow: 0 1px 3px rgba(0,0,0,0.9);
    pointer-events: none;
}
.bnz-cell.bnz-drop { animation:none; }
.bnz-cell.bnz-drop .bnz-symbol {
    animation:bnz-drop var(--bnz-drop-duration,520ms) cubic-bezier(.18,.72,.25,1.12) var(--bnz-drop-delay,0ms) both;
}
.bnz-cell-win {
    background: rgba(246,196,83,0.16);
    animation: bnz-cell-win-pulse .5s ease-in-out infinite;
    z-index: 2;
}
.bnz-cell-pop .bnz-symbol { animation: bnz-cell-pop .3s ease-in forwards; }
.bnz-bomb-flash { animation: bnz-bomb-flash .3s ease-in-out 3; z-index: 3; }

/* Overlays */
.bnz-free-banner {
    position: absolute;
    top: 9px; left: 50%;
    transform: translateX(-50%);
    display: inline-flex; align-items: center; gap: 10px;
    background: rgba(15,8,26,0.9);
    border: 1px solid rgba(246,196,83,0.5);
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 12px;
    z-index: 5;
    white-space: nowrap;
}
.bnz-free-label { color: var(--site-color-warning); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 10px; }
.bnz-free-count { font-size: 15px; font-weight: 800; color: #fff; }
.bnz-free-bombs { color: #ffd24a; font-weight: 700; }

.bnz-chain {
    position: absolute;
    top: 11px; right: 18px;
    display: inline-flex; align-items: center; gap: 7px;
    background: rgba(15,8,26,0.85);
    border: 1px solid rgba(186,134,237,0.35);
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    z-index: 5;
}
.bnz-chain b { color: #fff; font-size: 13px; }
.bnz-chain-win { color: var(--site-color-success); font-weight: 700; }

.bnz-win-overlay {
    position: absolute;
    inset: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: 12px;
    background: radial-gradient(ellipse at center, rgba(20,10,40,.94), rgba(20,10,40,.8));
    z-index: 8;
    text-align: center;
    padding: 12px;
}
.bnz-win-tier {
    font-size: clamp(15px, 3vw, 24px);
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--site-color-warning);
}
.bnz-win-amount { font-size: clamp(22px, 5vw, 40px); font-weight: 800; color: #fff; }
.bnz-win-breakdown { display: flex; flex-direction: column; gap: 3px; width: 100%; max-width: 260px; margin-top: 4px; }
.bnz-win-line {
    display: flex; align-items: center; justify-content: space-between;
    font-size: 11px; color: rgba(255,255,255,0.62);
}
.bnz-win-line-mult { color: var(--site-color-success); font-weight: 700; }
.bnz-tier-3 .bnz-win-tier { color: #ffd24a; text-shadow: 0 0 18px rgba(255,210,74,.6); }

/* ── History ── */
.bnz-history-title {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px 6px;
}
.bnz-history-title span {
    display: block;
    font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
    color: rgba(255,255,255,0.35);
}
.bnz-history-title h2 { margin: 0; font-size: 16px; }
.bnz-history-title i { color: rgba(255,255,255,0.2); font-size: 18px; }
.bnz-symbol-history { width: 22px; height: 22px; vertical-align: middle; }
.bnz-history-empty { color: rgba(255,255,255,0.25); }
.bnz-mode-badge, .bnz-bonus-badge, .bnz-bomb-badge {
    display: inline-block;
    margin-left: 5px;
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    vertical-align: middle;
}
.bnz-mode-ante { background: rgba(141,59,222,0.25); color: var(--site-color-main-light); }
.bnz-mode-buy { background: rgba(246,196,83,0.22); color: var(--site-color-warning); }
.bnz-bonus-badge { background: rgba(46,227,111,0.18); color: var(--site-color-success); }
.bnz-bomb-badge { background: rgba(255,210,74,0.18); color: #ffd24a; }
.bnz-history .table-container { background: #2b2333; }

/* ── Responsive ── */
@media (max-width: 900px) {
    /* Board first, controls under it -- done with `order`, not
       column-reverse. A reversed column overflows upward, and with the
       rounded-corner `overflow: hidden` on the layout that clipped the top of
       the controls panel: the stake field and the Place bet button were
       rendered off-screen and unreachable on a phone. */
    .bnz-layout { flex-direction: column; min-height: 0; }
    .bnz-stage { order: 1; }
    .bnz-controls { order: 2; width: 100%; min-width: 0; }
    .bnz-board-area { padding: 12px; }}
@media (max-width: 480px) {
    .bnz-machine { padding: 38px 8px 8px; }
    .bnz-grid { gap: 3px; }
    .bnz-cell { border-radius: 7px; }
    .bnz-chain { top: 8px; right: 8px; font-size: 10px; padding: 4px 9px; }
    .bnz-free-banner { top: 7px; padding: 5px 12px; }
    .bnz-identity h1 { font-size: 18px; }}

/* Bonanza art direction v2 — Midnight Candy Bazaar */
.bnz-page {
    --bnz-night: #120c22;
    --bnz-plum: #241238;
    --bnz-panel: #1a112b;
    --bnz-teal: #24d6c8;
    --bnz-pink: #ff4f7b;
    --bnz-gold: #ffbf4a;
}
.bnz-hero {
    position: relative;
    min-height: clamp(250px, 28vw, 360px);
    margin-bottom: 16px;
    overflow: hidden;
    isolation: isolate;
    border: 1px solid rgba(255,191,74,.24);
    border-radius: 22px;
    background: var(--bnz-night);
    box-shadow: 0 24px 70px rgba(8,4,18,.35), inset 0 0 0 1px rgba(255,255,255,.03);
}
.bnz-hero::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 10px;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 15px;
}
.bnz-hero-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.bnz-hero-shade {
    position: absolute; z-index: -1; inset: 0;
    background: linear-gradient(90deg, rgba(18,12,34,.98) 0%, rgba(18,12,34,.85) 32%, rgba(18,12,34,.1) 66%),
                linear-gradient(0deg, rgba(18,12,34,.42), transparent 50%);
}
.bnz-hero-copy {
    position: relative;
    display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
    min-height: inherit; width: 48%; padding: 42px clamp(28px, 5vw, 74px);
}
.bnz-hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    color: #c7fff8; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
}
.bnz-hero-eyebrow i { width: 19px; height: 1px; background: var(--bnz-teal); box-shadow: 0 0 10px var(--bnz-teal); }
.bnz-hero h1 {
    margin: 10px 0 6px;
    color: #fff7ed;
    font-family: var(--site-font-display);
    font-size: clamp(38px, 5.2vw, 74px);
    font-weight: 900; line-height: .88; letter-spacing: -.055em;
    text-shadow: 0 4px 20px rgba(0,0,0,.36);
}
.bnz-hero h1 span { display: block; color: var(--bnz-pink); font-size: .47em; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; }
.bnz-hero-copy p { max-width: 400px; margin: 10px 0 18px; color: rgba(255,255,255,.64); font-size: 13px; }
.bnz-hero-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.bnz-hero-tags span {
    padding: 6px 9px; border: 1px solid rgba(36,214,200,.24); border-radius: 999px;
    background: rgba(36,214,200,.07); color: #d8fffa; font-size: 9px; font-weight: 800; letter-spacing: .09em;
}
.bnz-hero-seal {
    position: absolute; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 7px;
    padding: 8px 10px; border: 1px solid rgba(255,191,74,.3); border-radius: 10px;
    background: rgba(18,12,34,.72); color: var(--bnz-gold); backdrop-filter: blur(8px);
}
.bnz-hero-seal b { font-size: 19px; line-height: 1; }
.bnz-hero-seal span { font-size: 7px; font-weight: 800; letter-spacing: .12em; line-height: 1.1; }
.bnz-identity h2 { margin: 0; font-size: 22px; line-height: 1.2; }
.bnz-top-icon { background: rgba(36,214,200,.09); border-color: rgba(36,214,200,.25); }
.bnz-kicker { color: var(--bnz-teal); }
.bnz-layout { border: 1px solid rgba(255,255,255,.07); border-radius: 18px; box-shadow: 0 22px 60px rgba(8,4,18,.24); }
.bnz-controls { background: linear-gradient(180deg, #221632, #180f27); }
.bnz-stage { background: #160e25; }
.bnz-header { background: rgba(25,15,40,.94); border-bottom-color: rgba(36,214,200,.13); }
.bnz-btn-place {
    border-radius: 11px;
    background: linear-gradient(135deg, #ff3e72, #ca276a);
    box-shadow: 0 10px 24px rgba(255,62,114,.22), inset 0 1px rgba(255,255,255,.2);
}
.bnz-btn-place:hover { opacity: 1; transform: translateY(-1px); filter: brightness(1.08); }
.bnz-input-row, .bnz-cost-row, .bnz-autobet-panel { border-radius: 10px; background: rgba(5,3,12,.28); }
.bnz-buy-btn { border-radius: 11px; border-color: rgba(255,191,74,.35); background: linear-gradient(135deg, rgba(255,191,74,.18), rgba(255,79,123,.06)); }
.bnz-board-area {
    background-color: #130d21;
    background-image: radial-gradient(circle at 50% 10%, rgba(36,214,200,.13), transparent 34%),
                      linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
    background-size: auto, 22px 22px, 22px 22px;
}
.bnz-cabinet {
    overflow: hidden;
    border: 1px solid rgba(255,191,74,.24);
    border-radius: 18px;
    background: linear-gradient(145deg, #2b193b, #160e24);
    box-shadow: 0 28px 70px rgba(4,2,10,.45), inset 0 0 0 1px rgba(255,255,255,.03);
}
.bnz-cabinet-head, .bnz-cabinet-foot { background: rgba(11,7,20,.58); border-color: rgba(255,255,255,.06); }
.bnz-cabinet-head i, .bnz-cabinet-foot i { color: var(--bnz-gold); }
.bnz-machine {
    background: radial-gradient(circle at 50% 0, rgba(36,214,200,.13), transparent 40%),
                linear-gradient(180deg, #241238, #120c22);
}
.bnz-grid {
    gap: clamp(4px, .65vw, 9px);
    padding: clamp(6px, 1vw, 12px);
    border: 1px solid rgba(255,255,255,.07); border-radius: 15px;
    background: rgba(6,3,13,.3);
    box-shadow: inset 0 0 28px rgba(0,0,0,.25);
}
.bnz-cell {
    border: 1px solid rgba(255,255,255,.055);
    border-radius: clamp(9px, 1vw, 14px);
    background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.012));
    box-shadow: inset 0 1px rgba(255,255,255,.04);
}
.bnz-symbol { width: 88%; height: 88%; filter: drop-shadow(0 5px 5px rgba(0,0,0,.34)); transition: transform .18s, filter .18s; }
.bnz-cell-win { border-color: var(--bnz-teal); box-shadow: 0 0 0 2px rgba(36,214,200,.18), 0 0 24px rgba(36,214,200,.33); }
.bnz-free-banner, .bnz-chain { background: rgba(18,12,34,.87); border-color: rgba(36,214,200,.3); backdrop-filter: blur(10px); }
.bnz-free-label, .bnz-chain-win { color: var(--bnz-teal); }
.bnz-history { overflow: hidden; border: 1px solid rgba(255,255,255,.07); border-radius: 16px; background: #1a112b; }
.bnz-history-title i { color: var(--bnz-teal); opacity: .6; }
@media (max-width: 720px) {
    .bnz-hero { min-height: 280px; }
    .bnz-hero-art { object-position: 66% center; opacity: .72; }
    .bnz-hero-shade { background: linear-gradient(90deg, rgba(18,12,34,.96), rgba(18,12,34,.42) 72%), linear-gradient(0deg, rgba(18,12,34,.7), transparent); }
    .bnz-hero-copy { width: 72%; padding: 34px 28px; }
    .bnz-hero-copy p { max-width: 270px; }}
@media (max-width: 480px) {
    .bnz-hero { min-height: 250px; border-radius: 16px; }
    .bnz-hero-copy { width: 82%; padding: 28px 22px; }
    .bnz-hero h1 { font-size: 42px; }
    .bnz-hero-seal { display: none; }
    .bnz-identity h2 { font-size: 18px; }
    .bnz-layout { border-radius: 14px; }}

/* Bonanza v3 — current game-first workspace */
.bnz-top {
    min-height:64px;margin-bottom:12px;padding:0 4px;
}
.bnz-identity { gap:10px; }
.bnz-top-icon {
    width:46px;height:46px;border-radius:15px;
    background:radial-gradient(circle at 35% 25%,rgba(36,214,200,.2),rgba(36,214,200,.04));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.18);
}
.bnz-top-icon img { width:28px;height:28px; }
.bnz-identity h2 { font-size:20px;letter-spacing:-.02em; }
.bnz-top-actions { margin-left:auto; }
.bnz-how,.bnz-top-fair {
    height:38px;
    min-height:38px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.09);
    border-radius:10px;
    background:rgba(15,18,27,.72);
    color:#d9dce2!important;
    font:700 12px/1 Arial,sans-serif;
    text-decoration:none!important;
    white-space:nowrap;
    cursor:pointer;
    box-shadow:none;
    appearance:none;
    transition:border-color .2s,background .2s,color .2s,transform .2s;
}
.bnz-how i { color:#62ddd1; }
.bnz-top-fair i { color:#5ddba1; }
.bnz-how:hover,.bnz-top-fair:hover {
    border-color:rgba(78,217,203,.4);
    background:rgba(32,133,129,.14);
    color:#fff!important;
    transform:translateY(-1px);
}
.bnz-how:focus-visible,.bnz-top-fair:focus-visible {
    outline:2px solid rgba(98,221,209,.85);
    outline-offset:3px;
}
.bnz-quick-stats { display:flex;align-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.025); }
.bnz-quick-stats span { display:flex;align-items:baseline;gap:6px;padding:8px 11px;border-left:1px solid rgba(255,255,255,.06); }
.bnz-quick-stats span:first-child { border-left:0; }
.bnz-quick-stats small { color:rgba(255,255,255,.34);font-size:8px;font-weight:800;letter-spacing:.1em; }
.bnz-quick-stats b { color:#fff;font-size:11px; }
.bnz-layout {
    display:grid;grid-template-columns:minmax(0,1fr) 318px;align-items:stretch;
    min-height:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;gap:12px;
}
.bnz-stage {
    order:1;min-height:640px;overflow:hidden;
    border:1px solid rgba(255,255,255,.075);border-radius:20px;
    background:linear-gradient(180deg,#1a102a,#100a1c);
    box-shadow:0 24px 70px rgba(5,2,12,.28);
}
.bnz-controls {
    order:2;width:auto;min-width:0;height:max-content;
    /* Cap to what the sticky panel can actually show: viewport minus the 82px top offset
       and a small bottom gutter. overflow-y stays as a safety valve for very short windows;
       the paytable below gives up its own height first, so it should never engage. */
    max-height:calc(100vh - 92px);overflow-x:clip;overflow-y:auto;
    position:sticky;top:82px;padding:15px;gap:12px;
    border:1px solid rgba(255,255,255,.075);border-radius:20px;
    background:linear-gradient(180deg,rgba(34,22,50,.98),rgba(20,12,34,.98));
    box-shadow:0 20px 60px rgba(5,2,12,.24);
    scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent;
}
/* Controls and the note keep their natural height; the paytable is the only element
   that yields, shrinking into its own inner scroll instead of clipping the panel. */
.bnz-controls > * { flex-shrink:0; }
.bnz-controls > .bnz-paytable-segment { flex:1 1 auto;min-height:0; }
.bnz-panel-kicker { display:flex;align-items:center;gap:8px;padding:1px 1px 10px;border-bottom:1px solid rgba(255,255,255,.065);color:#fff;font-size:12px;font-weight:800; }
.bnz-panel-kicker i { color:var(--bnz-teal); }
.bnz-control-head > div { display:none; }
.bnz-control-head { align-items:center; }
.bnz-control-balance { width:100%;justify-content:space-between;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.035); }
.bnz-btn-place {
    height:54px;border-radius:14px;font-size:13px;letter-spacing:.09em;
    background:linear-gradient(135deg,#ff4f7b,#b82d72);
    box-shadow:0 12px 28px rgba(255,79,123,.25),inset 0 1px rgba(255,255,255,.24);
    min-width:0;
    margin:0;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 54px;
    box-sizing:border-box;
    border:0;
    outline:0;
    appearance:none;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    isolation:auto;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    transition:transform .16s,filter .16s,box-shadow .16s,opacity .16s;
}
.bnz-btn-place:hover { transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 16px 34px rgba(255,79,123,.32),inset 0 1px rgba(255,255,255,.24); }
.bnz-btn-place:active { transform:translateY(0) scale(.985);filter:brightness(.98); }
.bnz-btn-place:focus-visible { outline:2px solid rgba(255,158,188,.92);outline-offset:3px; }
.bnz-btn-place.disabled,.bnz-btn-place:disabled {
    opacity:.48;
    cursor:not-allowed;
    pointer-events:none;
    transform:none;
    filter:saturate(.7);
    box-shadow:inset 0 1px rgba(255,255,255,.1);
}
.bnz-segment { padding-top:2px; }
.bnz-label { margin-bottom:6px;font-size:9px; }
.bnz-input-row { min-height:43px;border-radius:11px;border-color:rgba(255,255,255,.085); }
.bnz-input { font-size:15px;font-weight:750; }
.bnz-chip { min-height:41px;padding:6px 8px; }
.bnz-cost-row { border-radius:10px; }
.bnz-buy-btn { min-height:54px;border-radius:13px; }
.bnz-paytable { flex:1 1 auto;min-height:0;max-height:236px;overflow:auto;border-radius:11px;padding:8px;scrollbar-width:thin; }
.bnz-note { padding:10px;border:1px solid rgba(36,214,200,.1);border-radius:10px;background:rgba(36,214,200,.035); }
.bnz-header { min-height:48px;padding:10px 16px;background:rgba(12,7,22,.62); }
.bnz-header-title { font-size:12px;letter-spacing:.02em; }
.bnz-board-area {
    position:relative;justify-content:center;padding:24px clamp(16px,3vw,42px) 30px;
    background-color:#100a1c;
    background-image:radial-gradient(circle at 50% 18%,rgba(36,214,200,.14),transparent 35%),
                     radial-gradient(circle at 88% 82%,rgba(255,79,123,.09),transparent 30%),
                     linear-gradient(rgba(255,255,255,.016) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.016) 1px,transparent 1px);
    background-size:auto,auto,24px 24px,24px 24px;
}
.bnz-board-area::before,.bnz-board-area::after {
    content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,191,74,.08);transform:rotate(45deg);pointer-events:none;
}
.bnz-board-area::before { left:-105px;top:36px; }
.bnz-board-area::after { right:-110px;bottom:20px; }
.bnz-scene-brand { position:absolute;left:20px;top:18px;display:flex;flex-direction:column;color:rgba(255,255,255,.14);line-height:.85;letter-spacing:.12em;pointer-events:none; }
.bnz-scene-brand span { font-size:8px;font-weight:700; }
.bnz-scene-brand b { font-size:12px; }
.bnz-cabinet {
    position:relative;z-index:1;width:min(100%,760px);max-width:none;
    margin-top:25px;
    border-radius:22px;border-color:rgba(255,191,74,.2);
    background:linear-gradient(145deg,#2d1841,#150d24);
    box-shadow:0 34px 80px rgba(2,1,7,.5),inset 0 0 0 1px rgba(255,255,255,.035);
    contain:layout paint;
}
.bnz-cabinet-head,.bnz-cabinet-foot { padding:10px 16px;background:rgba(7,4,13,.44); }
.bnz-machine { padding:48px clamp(10px,2vw,20px) 18px;background:radial-gradient(circle at 50% 0,rgba(36,214,200,.1),transparent 38%),linear-gradient(180deg,#241238,#100a1c); }
.bnz-grid { gap:clamp(4px,.65vw,9px);padding:clamp(7px,1vw,12px);border-radius:17px; }
.bnz-cell {
    overflow:hidden;border-radius:clamp(9px,1vw,15px);
    background:radial-gradient(circle at 40% 25%,rgba(255,255,255,.055),rgba(255,255,255,.012) 65%);
    transition:background .2s,box-shadow .2s,transform .2s;
    contain:strict;
    isolation:isolate;
}
.bnz-symbol {
    width:92%;height:92%;object-fit:contain;
    filter:drop-shadow(0 7px 6px rgba(0,0,0,.38));
    transition:transform .2s,filter .2s;
}
.bnz-grid .bnz-symbol {
    position:absolute;
    inset:4%;
    width:92%;
    height:92%;
}
.bnz-cell:hover .bnz-symbol { transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 10px 8px rgba(0,0,0,.44)); }
.bnz-cell-bomb .bnz-symbol { width:98%;height:98%; }
.bnz-bomb-value {
    bottom:25%;z-index:2;padding:2px 5px;border-radius:6px;
    color:#1a0e23;background:rgba(255,207,91,.88);font-size:clamp(8px,1.3vw,12px);text-shadow:none;
    box-shadow:0 2px 9px rgba(0,0,0,.32);
}
.bnz-free-banner,.bnz-chain { border-color:rgba(36,214,200,.28);background:rgba(14,8,25,.88);box-shadow:0 8px 24px rgba(0,0,0,.25); }
.bnz-history { margin-top:14px;border-radius:18px; }
@media (max-width:1100px) {
    .bnz-layout { grid-template-columns:minmax(0,1fr) 290px; }
    .bnz-stage { min-height:560px; }
    .bnz-quick-stats span { padding:7px 8px; }}
@media (max-width:900px) {
    .bnz-layout { display:flex;gap:10px; }
    .bnz-stage { min-height:0; }
    .bnz-controls { position:static;max-height:none;border-radius:16px; }
    .bnz-quick-stats { display:none; }
    .bnz-board-area { padding:14px; }}
@media (max-width:480px) {
    .bnz-top { min-height:52px; }
    .bnz-top-actions { gap:6px; }
    .bnz-how,.bnz-top-fair { width:36px;height:36px;justify-content:center;padding:0;border-radius:10px; }
    .bnz-how span,.bnz-top-fair span { display:none; }
    .bnz-stage { border-radius:14px; }
    .bnz-header { padding:9px 11px; }
    .bnz-scene-brand { display:none; }
    .bnz-cabinet { border-radius:15px; }
    .bnz-cabinet-head small { display:none; }
    .bnz-machine { padding:39px 6px 8px; }
    .bnz-grid { padding:4px;gap:2px;border-radius:10px; }
    .bnz-symbol { width:96%;height:96%; }
    .bnz-controls { padding:13px; }}
/* This layer is the size of the whole board area and the twelve sparks drift
   across all of it. Without `will-change` the sparks were not promoted to their
   own compositor layers -- the `overflow:hidden` clip on an unpromoted parent
   keeps them on the main thread -- so every frame repainted the union of twelve
   moving rects, which is effectively the entire .bnz-board-area: its four-layer
   gradient background AND the cabinet painted on top of it, 60fps, forever.
   That constant re-raster is what made the whole board shimmer at rest (the
   gradient dithering crawls and the symbol art resamples). `contain` keeps the
   damage from escaping; `will-change` keeps there from being any. */
.bnz-ambient { position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;contain:layout paint style; }
.bnz-ambient i {
    --drift:22px;position:absolute;bottom:-18px;width:4px;height:4px;border-radius:50%;
    background:#24d6c8;box-shadow:0 0 9px currentColor;color:#24d6c8;
    will-change:transform,opacity;
    animation:bnz-ambient-rise 6.8s linear infinite;
}
.bnz-ambient i:nth-child(1) { left:7%;animation-delay:-1.2s;animation-duration:7.4s;--drift:34px; }
.bnz-ambient i:nth-child(2) { left:15%;animation-delay:-4.7s;animation-duration:8.3s;color:#ffbf4a;background:#ffbf4a;--drift:-20px; }
.bnz-ambient i:nth-child(3) { left:24%;animation-delay:-2.8s;animation-duration:6.1s;--drift:16px; }
.bnz-ambient i:nth-child(4) { left:33%;animation-delay:-5.4s;animation-duration:9s;color:#ff4f7b;background:#ff4f7b;--drift:-35px; }
.bnz-ambient i:nth-child(5) { left:42%;animation-delay:-.8s;animation-duration:7.1s;--drift:28px; }
.bnz-ambient i:nth-child(6) { left:51%;animation-delay:-6.2s;animation-duration:8.8s;color:#ffbf4a;background:#ffbf4a;--drift:-15px; }
.bnz-ambient i:nth-child(7) { left:60%;animation-delay:-3.3s;animation-duration:6.6s;--drift:24px; }
.bnz-ambient i:nth-child(8) { left:69%;animation-delay:-5.9s;animation-duration:9.2s;color:#ff4f7b;background:#ff4f7b;--drift:-28px; }
.bnz-ambient i:nth-child(9) { left:77%;animation-delay:-1.7s;animation-duration:7.7s;--drift:36px; }
.bnz-ambient i:nth-child(10) { left:85%;animation-delay:-4.1s;animation-duration:8.1s;color:#ffbf4a;background:#ffbf4a;--drift:-22px; }
.bnz-ambient i:nth-child(11) { left:92%;animation-delay:-2.2s;animation-duration:6.4s;--drift:18px; }
.bnz-ambient i:nth-child(12) { left:96%;animation-delay:-6.8s;animation-duration:9.4s;color:#ff4f7b;background:#ff4f7b;--drift:-38px; }
.bnz-cabinet { animation:none; }
.bnz-round-state i { animation:bnz-status-breathe 1.9s ease-in-out infinite; }
.bnz-btn-place { position:relative;overflow:hidden;isolation:auto; }
.bnz-btn-place::after {
    display:none;
}
.bnz-cell:not(.bnz-drop):not(.bnz-cell-win):not(.bnz-cell-pop) .bnz-symbol { animation:none; }
/* bnz-cell-light used to pulse the cell background here, forever, on ten cells.
   background-color is not a compositor property, so each of those cells -- and
   the filtered 512px symbol inside it -- was repainted every frame for a shift
   from 0.6% to 3.5% alpha that is not actually visible. Removed: the whole cost
   bought nothing. The keyframes are kept in case the effect is wanted again. */
.bnz-cell:not(.bnz-drop):not(.bnz-cell-win):not(.bnz-cell-pop):nth-child(3n+1) .bnz-symbol {
    animation:bnz-safe-float 3.6s ease-in-out infinite;
    will-change:transform;
}
/* Three phases instead of one. Both buckets below are subsets of the 3n+1 set
   above, so this only spreads the ten floating symbols out in time: in lockstep
   they read as the whole board heaving up and down rather than as art drifting.
   The :not() chain is repeated verbatim: the rule above sets `animation`, and
   the shorthand resets animation-delay, so a shorter selector loses. */
.bnz-cell:not(.bnz-drop):not(.bnz-cell-win):not(.bnz-cell-pop):nth-child(9n+4) .bnz-symbol { animation-delay:-1.2s; }
.bnz-cell:not(.bnz-drop):not(.bnz-cell-win):not(.bnz-cell-pop):nth-child(9n+7) .bnz-symbol { animation-delay:-2.4s; }
.bnz-cell:not(.bnz-drop):not(.bnz-cell-win):not(.bnz-cell-pop):nth-child(3n+2) .bnz-symbol--scatter {
    animation:bnz-scatter-orbit 2.6s ease-in-out infinite;
}
/* The light sweep. It used to run forever with mix-blend-mode:screen, and that
   is the expensive half of the shake: a blended element cannot be promoted to
   its own compositor layer, so every frame of the sweep re-rasterised the whole
   machine -- 30 cells, 30 filtered symbols -- at 60fps, permanently, even while
   the board was idle. Plain alpha composites, and it now only sweeps during a
   spin, which is the only time it means anything. */
.bnz-machine::after {
    content:"";position:absolute;z-index:4;top:42px;bottom:10px;left:0;width:24%;pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(135,255,243,.13),rgba(255,255,255,.16),transparent);
    opacity:0;
}
.bnz-machine.bnz-spin-active .bnz-grid {
    animation:bnz-spin-frame .72s ease-in-out infinite;
}
.bnz-machine.bnz-spin-active .bnz-cell::before {
    content:"";position:absolute;z-index:0;inset:-35% 0;pointer-events:none;
    background:linear-gradient(180deg,transparent,rgba(116,255,244,.18),rgba(255,255,255,.08),transparent);
    animation:bnz-spin-cell-charge .9s linear var(--bnz-drop-delay,0ms) infinite;
}
.bnz-machine.bnz-spin-active::after {
    animation:bnz-board-scan 1.35s ease-in-out infinite;
    opacity:.72;
}
.bnz-cell.bnz-drop::after {
    content:"";position:absolute;z-index:3;inset:10%;pointer-events:none;border:2px solid rgba(36,214,200,.65);border-radius:inherit;
    animation:bnz-land-ring .48s ease-out var(--bnz-drop-delay,0ms) both;
}
.bnz-cell.bnz-scatter-land::after {
    border-color:rgba(255,191,74,.92);
    box-shadow:0 0 18px rgba(255,191,74,.52),inset 0 0 13px rgba(255,79,123,.28);
}
.bnz-machine.bnz-spin-anticipation .bnz-scatter-land .bnz-symbol--scatter {
    animation:
        bnz-drop var(--bnz-drop-duration,520ms) cubic-bezier(.18,.72,.25,1.12) var(--bnz-drop-delay,0ms) both,
        bnz-scatter-suspense .46s ease-in-out calc(var(--bnz-drop-delay,0ms) + var(--bnz-drop-duration,520ms)) 3;
}
.bnz-cell-win::before,.bnz-cell-win::after {
    content:"";position:absolute;z-index:4;left:50%;top:50%;width:7px;height:7px;pointer-events:none;
    background:linear-gradient(135deg,#fff4bd,#ffbf4a);clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%);
    filter:drop-shadow(0 0 5px rgba(255,191,74,.9));
}
.bnz-cell-win::before { animation:bnz-win-spark-a .72s ease-out infinite; }
.bnz-cell-win::after { animation:bnz-win-spark-b .82s ease-out .12s infinite; }
.bnz-free-banner:not(.hidden) { animation:bnz-free-aura 1.65s ease-in-out infinite; }
.bnz-scene-brand { animation:bnz-brand-flicker 5.4s linear infinite;will-change:opacity; }
.bnz-cell-win .bnz-symbol { animation:bnz-win-tilt .55s cubic-bezier(.2,.75,.3,1) infinite; }
.bnz-machine-bomb { animation:none;filter:brightness(1.08); }
.bnz-page { position:relative;isolation:isolate; }
.bnz-page::after {
    content:"";position:absolute;z-index:-1;left:12%;right:12%;top:110px;height:460px;pointer-events:none;opacity:0;
    background:radial-gradient(ellipse,rgba(255,191,74,.22),rgba(255,79,123,.08) 36%,transparent 70%);
}
.bnz-page-win::after { animation:bnz-page-win-glow 1.15s ease-in-out 2; }
.bnz-history-enter { animation:bnz-history-enter .28s ease-out both; }
.bnz-page.is-busy .bnz-scene-brand { color:rgba(36,214,200,.2);text-shadow:0 0 12px rgba(36,214,200,.2); }
@media (prefers-reduced-motion:reduce) {
    .bnz-ambient i,.bnz-cabinet,.bnz-round-state i,.bnz-btn-place::after,
    .bnz-cell,.bnz-cell::before,.bnz-cell::after,.bnz-cell .bnz-symbol,.bnz-cell-win .bnz-symbol,
    .bnz-machine::after,.bnz-machine-bomb,.bnz-free-banner,.bnz-scene-brand,
    .bnz-machine.bnz-spin-active .bnz-grid,.bnz-machine.bnz-spin-active .bnz-cell::before,
    .bnz-page-win::after { animation:none!important; }
    .bnz-history-enter { animation:none!important; }
    .bnz-cell:hover .bnz-symbol { transform:none; }}

@media (max-width:768px) and (orientation:portrait) {
    body.is-game-page .bnz-page { width:100%!important;min-width:0!important;overflow:visible!important; }
    body.is-game-page .bnz-top {
        height:46px!important;min-height:46px!important;margin:0 0 6px!important;padding:0 2px!important;flex-wrap:nowrap!important;
    }
    body.is-game-page .bnz-top-icon { width:38px!important;height:38px!important;border-radius:12px!important; }
    body.is-game-page .bnz-top-icon img { width:23px!important;height:23px!important; }
    body.is-game-page .bnz-kicker { display:none!important; }
    body.is-game-page .bnz-identity h2 { font-size:17px!important;white-space:nowrap!important; }
    body.is-game-page .bnz-top-actions { gap:5px!important; }
    body.is-game-page .bnz-how,
    body.is-game-page .bnz-top-fair {
        width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;justify-content:center!important;border-radius:11px!important;
    }
    body.is-game-page .bnz-how span,
    body.is-game-page .bnz-top-fair span,
    body.is-game-page .bnz-quick-stats { display:none!important; }

    body.is-game-page .bnz-layout {
        width:100%!important;height:calc(100svh - var(--mobile-header-h) - var(--mobile-tabs-h) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 58px)!important;
        min-height:538px!important;margin:0!important;display:grid!important;
        grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr) 205px!important;gap:6px!important;
        overflow:visible!important;border:0!important;
    }
    body.is-game-page .bnz-stage {
        grid-row:1!important;order:1!important;width:100%!important;min-height:0!important;height:100%!important;
        border-radius:16px!important;overflow:hidden!important;
    }
    body.is-game-page .bnz-header { display:none!important; }
    body.is-game-page .bnz-board-area {
        width:100%!important;height:100%!important;min-height:0!important;padding:5px!important;display:flex!important;
        align-items:center!important;justify-content:center!important;overflow:hidden!important;
    }
    body.is-game-page .bnz-board-area::before,
    body.is-game-page .bnz-board-area::after,
    body.is-game-page .bnz-scene-brand { display:none!important; }
    body.is-game-page .bnz-cabinet {
        width:100%!important;height:auto!important;max-width:min(100%,calc((100svh - 326px) * 1.2))!important;
        border-radius:13px!important;box-shadow:0 14px 34px rgba(0,0,0,.34)!important;
    }
    body.is-game-page .bnz-cabinet-head {
        min-height:25px!important;height:25px!important;padding:3px 8px!important;font-size:8px!important;
    }
    body.is-game-page .bnz-cabinet-head small { display:none!important; }
    body.is-game-page .bnz-cabinet-foot {
        min-height:23px!important;height:23px!important;padding:2px 7px!important;gap:7px!important;font-size:7px!important;
    }
    body.is-game-page .bnz-machine { padding:31px 4px 5px!important; }
    body.is-game-page .bnz-grid { width:100%!important;padding:3px!important;gap:2px!important;border-radius:9px!important; }
    body.is-game-page .bnz-cell { min-width:0!important;min-height:0!important;border-radius:7px!important; }
    body.is-game-page .bnz-symbol { width:97%!important;height:97%!important;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35))!important; }
    body.is-game-page .bnz-free-banner {
        top:5px!important;max-width:68%!important;padding:4px 8px!important;gap:6px!important;font-size:9px!important;
    }
    body.is-game-page .bnz-free-label { font-size:7px!important; }
    body.is-game-page .bnz-free-count { font-size:11px!important; }
    body.is-game-page .bnz-chain {
        top:5px!important;right:6px!important;padding:4px 7px!important;gap:4px!important;font-size:7px!important;
    }
    body.is-game-page .bnz-chain b { font-size:9px!important; }
    body.is-game-page .bnz-win-overlay { inset:5px!important;border-radius:9px!important; }

    body.is-game-page .bnz-controls {
        grid-row:2!important;order:2!important;position:static!important;width:100%!important;height:205px!important;max-height:205px!important;
        padding:7px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
        grid-template-rows:58px 57px 69px!important;gap:5px!important;overflow:hidden!important;
        border-radius:16px!important;background:linear-gradient(160deg,#21172d,#17101e)!important;
    }
    body.is-game-page .bnz-panel-kicker,
    body.is-game-page .bnz-control-head,
    body.is-game-page .bnz-turbo-segment,
    body.is-game-page .bnz-autobet-segment,
    body.is-game-page .bnz-paytable-segment,
    body.is-game-page .bnz-note { display:none!important; }
    body.is-game-page .bnz-controls #bnz-place-bet {
        grid-column:1/-1!important;grid-row:1!important;order:0!important;width:100%!important;height:58px!important;min-height:58px!important;
        margin:0!important;border-radius:15px!important;font-size:16px!important;letter-spacing:.04em!important;touch-action:manipulation!important;
    }
    body.is-game-page .bnz-stake-segment {
        grid-column:1/-1!important;grid-row:2!important;min-width:0!important;padding:0!important;gap:3px!important;
    }
    body.is-game-page .bnz-stake-segment .bnz-label { margin:0!important;font-size:8px!important;line-height:1!important; }
    body.is-game-page .bnz-input-row { height:45px!important;min-height:45px!important;padding-left:3px!important;flex-wrap:nowrap!important;overflow:hidden!important; }
    body.is-game-page .bnz-input-icon { padding:0 7px!important;font-size:11px!important; }
    body.is-game-page .bnz-input { min-width:48px!important;padding:0!important;font-size:17px!important; }
    body.is-game-page .bnz-chips { flex:0 0 auto!important;height:100%!important; }
    body.is-game-page .bnz-chip {
        min-width:42px!important;height:100%!important;padding:0 7px!important;display:grid!important;place-items:center!important;
        font-size:10px!important;font-weight:850!important;-webkit-tap-highlight-color:transparent;
    }
    body.is-game-page .bnz-chip:active { transform:scale(.94);background:rgba(255,255,255,.1)!important; }
    body.is-game-page .bnz-cost-row {
        grid-column:1!important;grid-row:3!important;height:100%!important;min-width:0!important;padding:8px!important;
        flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;border-radius:12px!important;
    }
    body.is-game-page .bnz-cost-row span { font-size:8px!important;text-transform:uppercase!important;letter-spacing:.08em!important; }
    body.is-game-page .bnz-cost-row b { font-size:16px!important; }
    body.is-game-page .bnz-buy-btn {
        grid-column:2!important;grid-row:3!important;height:100%!important;min-height:0!important;padding:8px 10px!important;border-radius:12px!important;
        touch-action:manipulation!important;
    }
    body.is-game-page .bnz-buy-btn i { font-size:15px!important; }
    body.is-game-page .bnz-buy-btn span span { font-size:11px!important; }
    body.is-game-page .bnz-buy-btn small { font-size:8px!important; }
    body.is-game-page .bnz-ante-segment { display:none!important; }
    body.is-game-page .bnz-history { display:none!important; }}

@media (max-width:360px) and (orientation:portrait) {
    body.is-game-page .bnz-layout { min-height:520px!important;grid-template-rows:minmax(0,1fr) 195px!important; }
    body.is-game-page .bnz-controls { height:195px!important;max-height:195px!important;grid-template-rows:54px 54px 66px!important; }
    body.is-game-page .bnz-controls #bnz-place-bet { height:54px!important;min-height:54px!important;font-size:15px!important; }
    body.is-game-page .bnz-chip { min-width:36px!important;padding:0 5px!important;font-size:9px!important; }
    body.is-game-page .bnz-cabinet-foot { 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 .bnz-top,
    body.is-game-page .bnz-history { display:none!important; }
    body.is-game-page .bnz-layout {
        width:100%!important;height:calc(100svh - var(--mobile-header-h) - var(--mobile-safe-top) - 8px)!important;min-height:300px!important;
        margin:0!important;display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;gap:6px!important;
    }
    body.is-game-page .bnz-controls {
        grid-column:1!important;grid-row:1!important;order:1!important;position:static!important;width:220px!important;height:100%!important;max-height:none!important;
        padding:7px!important;gap:5px!important;overflow:hidden!important;border-radius:13px!important;
    }
    body.is-game-page .bnz-stage {
        grid-column:2!important;grid-row:1!important;order:2!important;width:100%!important;height:100%!important;min-height:0!important;border-radius:13px!important;
    }
    body.is-game-page .bnz-header,
    body.is-game-page .bnz-panel-kicker,
    body.is-game-page .bnz-control-head,
    body.is-game-page .bnz-autobet-segment,
    body.is-game-page .bnz-paytable-segment,
    body.is-game-page .bnz-note { display:none!important; }
    body.is-game-page .bnz-board-area { width:100%!important;height:100%!important;min-height:0!important;padding:4px!important;overflow:hidden!important; }
    body.is-game-page .bnz-cabinet { width:auto!important;height:100%!important;max-width:100%!important;aspect-ratio:1.2/1!important;border-radius:11px!important; }
    body.is-game-page .bnz-cabinet-head,
    body.is-game-page .bnz-cabinet-foot { height:22px!important;min-height:22px!important;padding:2px 7px!important;font-size:7px!important; }
    body.is-game-page .bnz-machine { height:calc(100% - 44px)!important;padding:27px 4px 4px!important; }
    body.is-game-page .bnz-grid { height:100%!important;width:auto!important;aspect-ratio:6/5!important;margin:auto!important;padding:2px!important;gap:2px!important; }
    body.is-game-page .bnz-cell { border-radius:5px!important; }
    body.is-game-page .bnz-symbol { width:95%!important;height:95%!important; }
    body.is-game-page .bnz-controls #bnz-place-bet { order:-10!important;height:48px!important;min-height:48px!important;flex:0 0 48px!important; }
    body.is-game-page .bnz-label { margin-bottom:2px!important;font-size:7px!important; }
    body.is-game-page .bnz-input-row { min-height:40px!important;height:40px!important; }
    body.is-game-page .bnz-chip { min-width:34px!important;height:38px!important;padding:0 4px!important;font-size:8px!important; }
    body.is-game-page .bnz-cost-row { min-height:36px!important;padding:5px 7px!important; }
    body.is-game-page .bnz-ante-segment,
    body.is-game-page .bnz-turbo-segment { min-height:31px!important; }
    body.is-game-page .bnz-buy-btn { min-height:43px!important;padding:6px 8px!important; }}

/* 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) {
    .bnz-layout { flex-direction:row-reverse; }}

/* Selected bet, the total that came up, and the settled outcome. `won`/`lost`
   come straight from the server's multiplier -- the paytable is never
   re-derived here. */
.sc-page .sc-bet.active { border-color: rgba(163,108,255,.62); background: linear-gradient(145deg,rgba(132,71,234,.3),rgba(43,22,76,.4)); box-shadow: 0 0 0 3px rgba(132,72,226,.12),inset 0 1px rgba(255,255,255,.06); }
.sc-page .sc-bet.active .sc-bet-name,.sc-page .sc-bet.active .sc-bet-pays { color: #fff; }
.sc-page .sc-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.sc-page .sc-history .table-header { background: rgba(255,255,255,.025); }
.er-history .table-tabs { padding: 8px 12px; background: rgba(5,3,10,.18); }
.er-history .table-header { background: rgba(255,255,255,.025); }

/* Fullscreen reel geometry is derived from each board's real remaining size,
   not from the outer viewport. This keeps every row visible at any aspect. */
#page_content2.is-game-fullscreen :is(.sl-board-area,.bnz-board-area,.hw-board-area,.mw-board-area,.bk-board-area) {
    container-type:size;place-content:center!important;
}
#page_content2.is-game-fullscreen .bnz-cabinet {
    width:min(92%,calc(120dvh - 420px))!important;
    width:min(92cqw,calc(120cqh - 124.8px))!important;
    height:auto!important;max-width:none!important;max-height:none!important;
    aspect-ratio:auto!important;margin:0!important;
}
#page_content2.is-game-fullscreen :is(.bnz-grid,.hw-grid,.mw-grid,.bk-grid) { width:100%!important; }
#page_content2.is-game-fullscreen .bnz-grid {
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-rows:repeat(5,minmax(0,1fr))!important;
}
#page_content2.is-game-fullscreen :is(.bnz-cell,.hw-cell,.mw-cell,.bk-cell) {
    min-width:0!important;min-height:0!important;
}

/* Slot-specific fullscreen geometry: preserve each reel grid's native aspect
   while allowing the controls and stage to consume the whole viewport. */
@media (min-width:769px) {
    #page_content2.is-game-fullscreen :is(.sl-game-layout,.bnz-layout,.hw-layout,.mw-layout,.bk-layout) {
        display:grid!important;grid-template-columns:minmax(0,1fr) clamp(280px,23vw,350px)!important;
        grid-template-rows:minmax(0,1fr)!important;height:100%!important;min-height:0!important;
    }
    #page_content2.is-game-fullscreen :is(.sl-controls,.bnz-controls,.hw-controls,.mw-controls,.bk-controls) {
        grid-column:2!important;grid-row:1!important;width:100%!important;min-width:0!important;
        height:100%!important;max-height:none!important;overflow-y:auto!important;
    }
    #page_content2.is-game-fullscreen :is(.sl-stage,.bnz-stage,.hw-stage,.mw-stage,.bk-stage) {
        grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-height:0!important;
    }
    #page_content2.is-game-fullscreen :is(.sl-board-area,.bnz-board-area,.hw-board-area,.mw-board-area,.bk-board-area) {
        flex:1!important;min-height:0!important;display:grid!important;place-items:center!important;overflow:hidden!important;
    }
    #page_content2.is-game-fullscreen .bnz-cabinet {
        width:min(92%,calc((100dvh - 190px) * 1.2))!important;height:auto!important;
        max-width:none!important;max-height:100%!important;aspect-ratio:auto!important;margin:0!important;
    }}
.nv-page .hidden { display: none !important; }
.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; }