

.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;
    }}
.bnz-history .table-container { background: #2b2333; }
.bnz-free-banner:not(.hidden) { animation:bnz-free-aura 1.65s ease-in-out infinite; }

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


/* ══════════════════════════════════════════════════════════════════════
   SEEDED SLOTS -- Sun of Zam, Gem Megaways, Book of Zam
   The three blocks below are generated from ONE shell template plus a
   per-game board section (see the design-session generator gen_css.py).
   They are emitted as three prefixed copies rather than authored as shared
   `.hw-x, .mw-x, .bk-x` comma-lists on purpose: split-frontend-assets.js only
   moves a rule into a game's bundle when every selector in it belongs to that
   route, so a shared comma-list would pin all of this in the core stylesheet
   and ship it to every page on the site. Edit the shell in one place and
   re-emit rather than patching the three copies apart from each other.
   ══════════════════════════════════════════════════════════════════════ */

/* ══════════════ SUN OF ZAM (5x3 hold & win) ══════════════
   Own prefix (.hw-*) throughout. See the generator note in the header of
   the seeded-slot CSS: the shell below is shared in shape with Sugar Bonanza
   and the other two seeded slots but deliberately not in selectors, so the
   asset splitter can give each game its own bundle. */
.hw-page { width: 100%; --hw-accent: #ffbf4a; --hw-gold: #ffd24a; }
.page-holdwin .game-back-nav {
    width:100%;
    margin:0 0 8px;
    padding:0 4px;
    align-items:center;
    box-sizing:border-box;
}
.page-holdwin .game-back-home {
    min-height:36px;
    padding:0 12px 0 8px;
    border-radius:10px;
}
.hw-page.is-busy .hw-buy-btn,
.hw-page.is-busy .hw-autobet-start-btn { opacity:.45;pointer-events:none; }

.hw-top {
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;flex-wrap:wrap;margin-bottom:16px;
}
.hw-identity { display:flex;align-items:center;gap:12px; }
.hw-top-icon {
    width:44px;height:44px;display:grid;place-items:center;border-radius:12px;
    background:rgba(255,191,74,0.14);border:1px solid rgba(255,191,74,0.28);
}
.hw-top-icon img { width:26px;height:26px; }
.hw-kicker {
    display:block;font-size:10px;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:var(--hw-accent);
}
.hw-identity h2 { margin:0;font-size:22px;line-height:1.2; }
.hw-top-actions { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.hw-how, .hw-top-fair {
    display:inline-flex;align-items:center;gap:7px;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
    border-radius:8px;color:rgba(255,255,255,.75);font-size:12px;
    padding:8px 12px;cursor:pointer;text-decoration:none;
    transition:background .15s,color .15s;
}
.hw-how:hover, .hw-top-fair:hover { background:rgba(255,255,255,.1);color:#fff; }
.hw-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);
}
.hw-quick-stats span { display:flex;align-items:baseline;gap:6px;padding:8px 11px;border-left:1px solid rgba(255,255,255,.06); }
.hw-quick-stats span:first-child { border-left:0; }
.hw-quick-stats small { color:rgba(255,255,255,.34);font-size:8px;font-weight:800;letter-spacing:.1em; }
.hw-quick-stats b { color:#fff;font-size:11px; }

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

/* ── Controls ── */
.hw-controls {
    width:clamp(250px,25vw,300px);min-width:250px;
    background:#3a2a1c;display:flex;flex-direction:column;
    padding:20px 16px;gap:14px;flex-shrink:0;
}
.hw-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; }
.hw-panel-kicker i { color:var(--hw-accent); }
.hw-control-head { display:flex;align-items:flex-start;justify-content:space-between;gap:8px; }
.hw-control-head span {
    display:block;font-size:10px;letter-spacing:.12em;
    text-transform:uppercase;color:rgba(255,255,255,.4);
}
.hw-control-head strong { font-size:14px;color:#fff; }
.hw-control-balance {
    display:inline-flex;align-items:center;gap:6px;
    font-size:13px;color:var(--site-color-warning);white-space:nowrap;
}
.hw-segment { display:flex;flex-direction:column; }
.hw-segment-row { flex-direction:row;align-items:center;gap:10px; }
.hw-label {
    display:block;font-size:11px;font-weight:600;text-transform:uppercase;
    letter-spacing:.1em;color:rgba(255,255,255,.45);margin-bottom:8px;
}
.hw-label-inline {
    text-transform:none;letter-spacing:normal;font-size:13px;
    color:rgba(255,255,255,.72);margin-bottom:0;
}
.hw-label-inline small { display:block;font-size:11px;color:rgba(255,255,255,.42); }

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

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

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

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

/* Autobet */
.hw-autobet-head { display:flex;align-items:center;justify-content:space-between; }
.hw-autobet-panel {
    display:flex;flex-direction:column;gap:8px;margin-top:10px;
    background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06);
    border-radius:6px;padding:10px;
}
.hw-autobet-row {
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    font-size:12px;color:rgba(255,255,255,.6);
}
.hw-autobet-input {
    width:82px;flex-shrink:0;background:rgba(0,0,0,.3);
    border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#fff;
    font-size:12px;padding:5px 8px;text-align:right;outline:none;
}
.hw-autobet-input:disabled { opacity:.4; }
.hw-autobet-check { display:inline-flex;align-items:center;gap:6px;cursor:pointer;margin:0; }
.hw-autobet-note { font-size:10px;color:var(--site-color-success); }
.hw-autobet-start-btn {
    display:flex;align-items:center;justify-content:center;gap:7px;
    background:rgba(46,227,111,.14);border:1px solid rgba(46,227,111,.4);
    border-radius:6px;color:#fff;font-size:12px;font-weight:700;
    padding:8px;cursor:pointer;transition:background .15s;
}
.hw-autobet-start-btn:hover { background:rgba(46,227,111,.24); }
.hw-autobet-start-btn:disabled { opacity:.4;pointer-events:none; }
.hw-autobet-status {
    display:flex;align-items:center;flex-wrap:wrap;gap:8px;
    font-size:11px;color:rgba(255,255,255,.55);
}
.hw-autobet-pnl.positive { color:var(--site-color-success);font-weight:700; }
.hw-autobet-pnl.negative { color:var(--site-color-danger);font-weight:700; }
.hw-autobet-stop-btn {
    background:rgba(255,95,86,.16);border:1px solid rgba(255,95,86,.4);
    border-radius:5px;color:#fff;font-size:11px;padding:4px 9px;cursor:pointer;
}

/* Paytable */
.hw-paytable {
    display:flex;flex-direction:column;gap:3px;
    background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.06);
    border-radius:6px;padding:9px;
}
.hw-pay-row {
    display:grid;grid-template-columns:28px repeat(3,1fr);
    align-items:center;gap:6px;font-size:11px;color:rgba(255,255,255,.6);
}
.hw-pay-head-row span { font-size:9px;color:rgba(255,255,255,.3);text-align:right;letter-spacing:.06em; }
.hw-pay-icon img { width:22px;height:22px;object-fit:contain;display:block; }
.hw-pay-mult { text-align:right;font-variant-numeric:tabular-nums; }
.hw-pay-wide { grid-column:2 / -1;text-align:left;color:rgba(255,255,255,.5); }
.hw-pay-divider { height:1px;background:rgba(255,255,255,.07);margin:4px 0; }
.hw-pay-blurb { font-size:10px;line-height:1.5;color:rgba(255,255,255,.45); }
.hw-pay-blurb b { display:inline-flex;align-items:center;gap:5px;color:#fff; }
.hw-pay-blurb img { width:18px;height:18px; }

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

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

.hw-board-area {
    position:relative;flex:1;display:flex;flex-direction:column;
    align-items:center;justify-content:flex-start;padding:18px;gap:12px;
}
.hw-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;
}
.hw-scene-brand span { font-size:8px;font-weight:700; }
.hw-scene-brand b { font-size:12px; }
/* Same compositor reasoning as .bnz-ambient: `contain` keeps the repaint from
   escaping the layer and `will-change` promotes the sparks so the board's
   gradient underneath is not re-rastered at 60fps for the life of the page. */
.hw-ambient { position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;contain:layout paint style; }
.hw-ambient i {
    --drift:22px;position:absolute;bottom:-18px;width:4px;height:4px;border-radius:50%;
    background:var(--hw-accent);box-shadow:0 0 9px currentColor;color:var(--hw-accent);
    will-change:transform,opacity;
    animation:hw-ambient-rise 6.8s linear infinite;
}
.hw-ambient i:nth-child(1) { left:7%;animation-delay:-1.2s;animation-duration:7.4s;--drift:34px; }
.hw-ambient i:nth-child(2) { left:15%;animation-delay:-4.7s;animation-duration:8.3s;color:var(--hw-gold);background:var(--hw-gold);--drift:-20px; }
.hw-ambient i:nth-child(3) { left:24%;animation-delay:-2.8s;animation-duration:6.1s;--drift:16px; }
.hw-ambient i:nth-child(4) { left:33%;animation-delay:-5.4s;animation-duration:9s;color:var(--hw-gold);background:var(--hw-gold);--drift:-35px; }
.hw-ambient i:nth-child(5) { left:42%;animation-delay:-.8s;animation-duration:7.1s;--drift:28px; }
.hw-ambient i:nth-child(6) { left:51%;animation-delay:-6.2s;animation-duration:8.8s;color:var(--hw-gold);background:var(--hw-gold);--drift:-15px; }
.hw-ambient i:nth-child(7) { left:60%;animation-delay:-3.3s;animation-duration:6.6s;--drift:24px; }
.hw-ambient i:nth-child(8) { left:69%;animation-delay:-5.9s;animation-duration:9.2s;--drift:-28px; }
.hw-ambient i:nth-child(9) { left:77%;animation-delay:-1.7s;animation-duration:7.7s;--drift:36px; }
.hw-ambient i:nth-child(10) { left:85%;animation-delay:-4.1s;animation-duration:8.1s;color:var(--hw-gold);background:var(--hw-gold);--drift:-22px; }
.hw-ambient i:nth-child(11) { left:92%;animation-delay:-2.2s;animation-duration:6.4s;--drift:18px; }
.hw-ambient i:nth-child(12) { left:97%;animation-delay:-5.1s;animation-duration:8.6s;--drift:-30px; }

.hw-cabinet {
    position:relative;z-index:1;width:100%;max-width:900px;margin-top:50px;
    border-radius:16px;background:linear-gradient(160deg,#5a3a12,#241505);
    border:1px solid rgba(255,191,74,0.28);box-shadow:0 20px 50px rgba(0,0,0,.35);
    overflow:hidden;
}
.hw-cabinet-head, .hw-cabinet-foot {
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:9px 14px;font-size:11px;color:rgba(255,255,255,.55);
    background:rgba(0,0,0,.22);
}
.hw-cabinet-head span span { font-weight:700;color:#fff; }
.hw-cabinet-head i, .hw-cabinet-foot i { color:var(--hw-gold); }
.hw-cabinet-foot { justify-content:center;gap:12px; }
.hw-cabinet-foot i { font-size:9px; }

/* The feature banner lives in this reserved top band rather than floating over
   the grid: overlaying it hid the top row exactly when the feature made that
   row worth watching, and reserving the band always means the grid does not
   jump when the banner appears. */
.hw-machine { position:relative;padding:46px 14px 14px; }

.hw-symbol {
    width:96%;height:96%;object-fit:contain;pointer-events:none;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));
}
.hw-symbol--jack { width:112%;height:112%; }
.hw-symbol--ankh { width:104%;height:104%; }
.hw-symbol--scarab { width:102%;height:102%; }
.hw-symbol--ten,
.hw-symbol--king { width:98%;height:98%; }
.hw-symbol--falcon,
.hw-symbol--pharaoh,
.hw-symbol--wild,
.hw-symbol--blank { width:92%;height:92%; }

/* Overlays */
.hw-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;
}
.hw-win-tier {
    font-size:clamp(15px,3vw,24px);font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;color:var(--site-color-warning);
}
.hw-win-amount { font-size:clamp(22px,5vw,40px);font-weight:800;color:#fff; }
.hw-win-breakdown { display:flex;flex-direction:column;gap:3px;width:100%;max-width:280px;margin-top:4px; }
.hw-win-line { display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:rgba(255,255,255,.62); }
.hw-win-line img { width:16px;height:16px;vertical-align:middle; }
.hw-win-line-mult { color:var(--site-color-success);font-weight:700;white-space:nowrap; }
.hw-tier-3 .hw-win-tier { color:var(--hw-gold);text-shadow:0 0 18px rgba(255,210,74,.6); }

/* ── History ── */
.hw-history-title { display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px; }
.hw-history-title span {
    display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;
    color:rgba(255,255,255,.35);
}
.hw-history-title h2 { margin:0;font-size:16px; }
.hw-history-title i { color:var(--hw-accent);opacity:.6;font-size:18px; }
.hw-history-enter { animation:hw-history-enter .32s ease-out; }
.hw-page-win .hw-cabinet { animation:hw-page-win-glow 1.4s ease-in-out; }

/* ── Responsive ──
   Note the deliberate use of `order` rather than `flex-direction:column-reverse`
   to put the board above the controls on mobile: a reversed column overflows
   UPWARD, which on Sugar Bonanza pushed the stake field and the Place bet
   button off the top of the screen where they could not be reached at all. */
@media (max-width:900px) {
    .hw-layout { flex-direction:column;min-height:0; }
    .hw-controls { width:100%;min-width:0;order:2; }
    .hw-stage { order:1; }
    .hw-quick-stats span { padding:7px 8px; }}
@media (max-width:480px) {
    .hw-quick-stats { display:none; }
    .hw-scene-brand { display:none; }
    .hw-board-area { padding:10px; }
    .hw-machine { padding:42px 8px 10px; }
    .hw-identity h2 { font-size:18px; }}

/* ── Sun of Zam: the board ──
   Reels are real DOM columns here (unlike the tumble slot's single grid),
   because the hold & win feature respins whole reels at a time and the
   animation is per-reel. */
.hw-jackpots {
    display:flex;align-items:stretch;justify-content:center;gap:6px;
    padding:8px 12px 0;
}
.hw-jp {
    flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;
    border-radius:8px;padding:5px 4px;font-size:11px;
    background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.07);
}
.hw-jp small { font-size:8px;font-weight:800;letter-spacing:.1em;color:rgba(255,255,255,.4); }
.hw-jp b { font-size:12px;color:#fff; }
.hw-jp-1 { border-color:rgba(168,228,255,.3); }
.hw-jp-1 small { color:#a8e4ff; }
.hw-jp-2 { border-color:rgba(127,240,216,.3); }
.hw-jp-2 small { color:#7ff0d8; }
.hw-jp-3 { border-color:rgba(255,191,74,.35); }
.hw-jp-3 small { color:#ffbf4a; }
.hw-jp-4 { border-color:rgba(255,120,120,.4);background:rgba(255,120,120,.08); }
.hw-jp-4 small { color:#ff9d9d; }
.hw-jp-4 b { color:#ffd6d6; }

.hw-grid {
    display:grid;grid-template-columns:repeat(5,1fr);gap:5px;
    aspect-ratio:5 / 3;
}
.hw-reel { display:grid;grid-template-rows:repeat(3,1fr);gap:5px;min-height:0; }
.hw-cell {
    position:relative;display:grid;place-items:center;border-radius:10px;
    background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
    overflow:hidden;
}

/* A locked coin reads as metal on a dark board -- it has to be unmistakable at
   a glance, because during the feature the coins ARE the payout. */
.hw-cell-coin {
    background:radial-gradient(circle at 40% 32%,rgba(255,232,154,.22),rgba(224,161,26,.1) 60%,rgba(0,0,0,.3));
    box-shadow:inset 0 0 0 1px rgba(255,210,74,.45),0 0 14px rgba(255,191,74,.14);
}
.hw-coin-value {
    position:absolute;bottom:7%;left:50%;transform:translateX(-50%);
    font-size:clamp(10px,1.7vw,15px);font-weight:800;color:#ffe89a;
    text-shadow:0 1px 3px rgba(0,0,0,.95);pointer-events:none;
}
.hw-coin-tier {
    position:absolute;top:6%;left:50%;transform:translateX(-50%);
    font-size:clamp(6px,1vw,8px);font-weight:800;letter-spacing:.08em;
    font-style:normal;color:#241238;background:#ffd24a;
    border-radius:3px;padding:1px 4px;pointer-events:none;
}
.hw-cell-coin .hw-symbol { width:92%;height:92%; }
.hw-cell.hw-spin .hw-symbol {
    animation:hw-spin var(--hw-spin-duration,900ms) cubic-bezier(.2,.7,.25,1.06) var(--hw-spin-delay,0ms) both;
}
.hw-cell-win { background:rgba(246,196,83,.16);animation:hw-cell-win-pulse .5s ease-in-out infinite;z-index:2; }
.hw-cell-lock { z-index:3; }
.hw-cell-lock .hw-symbol, .hw-cell-lock .hw-coin-value { animation:hw-cell-lock .5s ease-out; }
.hw-grand .hw-grid { animation:hw-grand-flash .35s ease-in-out 4; }

.hw-spin-anticipation .hw-reel:last-child .hw-cell { box-shadow:inset 0 0 0 2px rgba(255,191,74,.5); }

.hw-feature-banner {
    position:absolute;top:9px;left:50%;transform:translateX(-50%);
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(15,8,26,.9);border:1px solid rgba(246,196,83,.5);
    border-radius:999px;padding:6px 16px;font-size:12px;z-index:5;white-space:nowrap;
}
.hw-feature-label { color:var(--site-color-warning);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:10px; }
.hw-feature-count { font-size:15px;font-weight:800;color:#fff; }
.hw-feature-locked { color:rgba(255,255,255,.6); }
.hw-feature-locked b { color:#fff;font-weight:700; }
.hw-feature-total { color:var(--site-color-success);font-weight:700; }
.hw-win-line-grand .hw-win-line-mult { color:#ffd24a; }

@media (max-width:480px) {
    .hw-jp small { font-size:7px; }
    .hw-jp b { font-size:10px; }
    .hw-coin-tier { display:none; }}

/* Desktop layout for the newest slot games: stage on the left, controls on
   the right. Their mobile rules above keep the stage stacked first. */
@media (min-width:769px) {
    .hw-layout { flex-direction:row-reverse; }
    .hw-controls { border-right:0;border-left:1px solid rgba(255,255,255,.07); }}

/* Sun of Zam mobile app scene.  This game predates the `*-game-layout`
   naming used by the shared phone shell, so it needs the same behaviour
   explicitly: reels stay visible and the essential controls form a compact
   dock instead of turning the page into a long scrolling form. */
@media (max-width:768px), (pointer:coarse) and (max-width:1199px) and (max-height:600px) and (orientation:landscape) {
    body.is-game-page .hw-page { height:100%;min-height:0;overflow:hidden; }
    body.is-game-page .hw-top,
    body.is-game-page .holdwin-game-info,
    body.is-game-page .hw-history { display:none!important; }
    body.is-game-page .hw-layout {
        flex:1;min-height:0!important;height:100%!important;margin:0!important;
        display:grid!important;grid-template-columns:minmax(0,1fr)!important;
        grid-template-rows:minmax(0,1fr) 154px!important;gap:7px!important;
        overflow:hidden!important;border-radius:0!important;
    }
    body.is-game-page .hw-stage {
        grid-row:1;order:1;width:100%;height:100%;min-width:0;min-height:0;
        overflow:hidden;border-radius:15px;background:#2b2318;
    }
    body.is-game-page .hw-header,
    body.is-game-page .hw-scene-brand { display:none!important; }
    body.is-game-page .hw-board-area {
        width:100%;height:100%;min-height:0;padding:6px;gap:0;
        justify-content:center;overflow:hidden;box-sizing:border-box;
    }
    body.is-game-page .hw-cabinet {
        width:min(100%,680px);max-height:100%;margin-top:0;border-radius:13px;
        box-shadow:0 10px 28px rgba(0,0,0,.3);
    }
    body.is-game-page .hw-cabinet-head,
    body.is-game-page .hw-cabinet-foot { min-height:24px;padding:4px 9px;font-size:9px;box-sizing:border-box; }
    body.is-game-page .hw-jackpots { gap:4px;padding:5px 7px 0; }
    body.is-game-page .hw-jp { min-width:0;padding:3px 2px;border-radius:6px; }
    body.is-game-page .hw-jp small { font-size:6px; }
    body.is-game-page .hw-jp b { font-size:9px; }
    body.is-game-page .hw-machine { padding:32px 7px 7px; }
    body.is-game-page .hw-grid,
    body.is-game-page .hw-reel { gap:3px; }
    body.is-game-page .hw-cell { border-radius:7px; }
    body.is-game-page .hw-symbol { max-width:none;max-height:none; }
    body.is-game-page .hw-feature-banner { top:5px;gap:6px;padding:4px 10px;font-size:10px; }
    body.is-game-page .hw-feature-label { font-size:8px; }
    body.is-game-page .hw-feature-count { font-size:12px; }
    body.is-game-page .hw-win-overlay { inset:7px; }

    body.is-game-page .hw-controls {
        grid-row:2;order:2;width:100%;height:154px;min-width:0;min-height:0;
        display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        grid-template-rows:42px 42px 42px;
        grid-template-areas:"stake stake" "spin buy" "cost turbo";
        gap:5px;padding:6px;overflow:hidden;border:0;border-radius:15px;
        background:#3a2a1c;box-sizing:border-box;
    }
    body.is-game-page .hw-panel-kicker,
    body.is-game-page .hw-control-head,
    body.is-game-page .hw-autobet-segment,
    body.is-game-page .hw-paytable-segment,
    body.is-game-page .hw-note { display:none!important; }
    body.is-game-page .hw-stake-segment { grid-area:stake;min-width:0;margin:0!important; }
    body.is-game-page .hw-stake-segment > .hw-label { display:none!important; }
    body.is-game-page .hw-input-row { height:42px;box-sizing:border-box; }
    body.is-game-page .hw-input { height:40px;padding:0;font-size:13px; }
    body.is-game-page .hw-input-icon { padding:0 8px; }
    body.is-game-page .hw-chip { height:40px;padding:0 8px;font-size:10px; }
    body.is-game-page .hw-btn-place {
        grid-area:spin;height:42px!important;min-height:42px!important;margin:0!important;
        border-radius:8px;font-size:12px;
    }
    body.is-game-page .hw-buy-btn {
        grid-area:buy;height:42px;min-height:42px;padding:5px 9px;gap:7px;border-radius:8px;
    }
    body.is-game-page .hw-buy-btn i { font-size:13px; }
    body.is-game-page .hw-buy-btn span span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px; }
    body.is-game-page .hw-buy-btn small { font-size:9px; }
    body.is-game-page .hw-cost-row {
        grid-area:cost;height:42px;padding:5px 8px;font-size:9px;box-sizing:border-box;
    }
    body.is-game-page .hw-cost-row b { font-size:12px; }
    body.is-game-page .hw-turbo-segment {
        grid-area:turbo;min-width:0;height:42px;margin:0!important;padding:0 8px!important;
        justify-content:center;border:1px solid rgba(255,255,255,.07);
        border-radius:8px;background:rgba(0,0,0,.18);box-sizing:border-box;
    }
    body.is-game-page .hw-turbo-segment .hw-label { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px!important; }}

@media (max-width:390px), (max-height:700px) {
    body.is-game-page .hw-layout { grid-template-rows:minmax(0,1fr) 139px!important;gap:5px!important; }
    body.is-game-page .hw-controls {
        height:139px;padding:5px;gap:4px;
        grid-template-rows:39px 39px 39px;
    }
    body.is-game-page .hw-input-row,
    body.is-game-page .hw-input,
    body.is-game-page .hw-chip,
    body.is-game-page .hw-btn-place,
    body.is-game-page .hw-buy-btn,
    body.is-game-page .hw-cost-row,
    body.is-game-page .hw-turbo-segment { height:39px!important;min-height:39px!important; }
    body.is-game-page .hw-cabinet-head small { display:none; }
    body.is-game-page .hw-cabinet-foot { display:none; }}

@media (orientation:landscape) and (max-height:600px) and (max-width:950px) {
    body.is-game-page .hw-layout {
        grid-template-columns:220px minmax(0,1fr)!important;
        grid-template-rows:minmax(0,1fr)!important;
    }
    body.is-game-page .hw-controls { grid-column:1;grid-row:1;width:220px;height:100%; }
    body.is-game-page .hw-stage { grid-column:2;grid-row:1; }
    body.is-game-page .hw-cabinet { width:min(100%,calc((100dvh - 82px) * 1.62)); }
    body.is-game-page .hw-cabinet-foot { display:none; }}

/* 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 .hw-cabinet {
    width:min(92%,calc(166.6667dvh - 616.6668px))!important;
    width:min(94cqw,calc(166.6667cqh - 266.6667px))!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 :is(.hw-grid,.bk-grid) {
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
#page_content2.is-game-fullscreen :is(.hw-reel,.bk-reel) {
    min-width:0!important;grid-template-rows:repeat(3,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 :is(.hw-cabinet,.bk-cabinet) {
        width:min(92%,calc((100dvh - 190px) * 1.6667))!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; }