:root {
  --primary-color:#fbbf24;--accent-color:#a855f7;--background-color:#181622;--surface-color:#181622;
  --text-color:#fff;--muted-text-color:#b9b0c9;--app-background-gradient:linear-gradient(180deg,#181622,#181622);
  --app-background-image:none;--active-banner-image:none;--font-family:'Fredoka',sans-serif;
  --card-bg:linear-gradient(145deg,rgba(42,35,62,.96),rgba(20,18,31,.98));--card-border-color:rgba(251,191,36,.24);
  --card-border-radius:20px;--border-radius:20px;--card-glow-color:rgba(251,191,36,.35);--card-glow:rgba(251,191,36,.35);--card-glow-blur:22px;
  --button-border-radius:12px;--button-primary-bg:#fbbf24;--button-primary-text:#1a0a2e;
  --button-secondary-bg:rgba(168,85,247,.14);--button-secondary-text:#fff;--button-glow-color:rgba(251,191,36,.3);
  --modal-border-radius:20px;--modal-bg:#181622;--modal-border-color:rgba(196,181,253,.22);--modal-backdrop:rgba(3,2,9,.72);
  --game-roulette-red:#d94b61;--game-roulette-black:#303949;--success-color:#22c55e;--warning-color:#fbbf24;--danger-color:#f43f5e;
}

html.theme-engine-active body { color:var(--text-color);background:var(--background-color)!important;font-family:var(--font-family)!important; }
/* STARQC brand typography: Fredoka is used consistently for every UI label,
   including Cyrillic text and game overlays.  Keep this global so inline
   legacy rules cannot fall back to Nunito/Georgia/Arial. */
html.theme-engine-active body,
html.theme-engine-active body * { font-family:'Fredoka',sans-serif!important; }
html.theme-engine-active .phone { background-color:var(--surface-color)!important;background-image:none!important;background-size:cover!important;background-position:center!important; }
html.theme-engine-active #mainContent { background-color:var(--background-color)!important;background-image:var(--app-background-image),var(--app-background-gradient)!important;background-size:cover!important;background-position:center!important; }
html.theme-engine-active .game-card,
html.theme-engine-active .starqc-promo { border-color:var(--card-border-color)!important;border-radius:var(--card-border-radius)!important;background:var(--card-bg)!important;box-shadow:none!important; }
html.theme-engine-active .starqc-promo { border:0!important;background:#292735!important;overflow:hidden!important; }
html.theme-engine-active .starqc-promo > :not(.starqc-promo__image) { display:none!important; }
html.theme-engine-active .game-card::after { border-radius:var(--card-border-radius)!important; }
html.theme-engine-active .bal-btn.deposit,
html.theme-engine-active .modal-confirm,
html.theme-engine-active .primary-action { color:var(--button-primary-text)!important;background:var(--button-primary-bg)!important;border-radius:var(--button-border-radius)!important;box-shadow:0 0 18px var(--button-glow-color)!important; }
html.theme-engine-active .bal-btn.withdraw,
html.theme-engine-active .modal-cancel { color:var(--button-secondary-text)!important;background:var(--button-secondary-bg)!important;border-radius:var(--button-border-radius)!important; }
html.theme-engine-active .modal-overlay { background:var(--modal-backdrop)!important; }
html.theme-engine-active .modal-box { color:var(--text-color)!important;background:var(--modal-bg)!important;border-color:var(--modal-border-color)!important;border-radius:var(--modal-border-radius)!important; }
html.theme-engine-active .home-hero.theme-banner-active { background-image:linear-gradient(90deg,rgba(5,4,12,.74),rgba(5,4,12,.16)),var(--active-banner-image)!important;background-size:cover!important;background-position:center!important; }
html.theme-engine-active .section-title,
html.theme-engine-active .game-info .name { color:var(--text-color)!important; }
html.theme-engine-active .game-info .sub { color:var(--muted-text-color)!important; }

.starqc-debug-panel.theme-inspector-open { width:min(390px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 100px));overflow:auto; }
.starqc-debug-panel { z-index:10050!important; }
.starqc-debug-toggle { z-index:10051!important; }
.starqc-debug-tabs { display:grid;grid-template-columns:1fr 1.35fr;gap:5px;margin:8px 0 12px; }
.starqc-debug-tab { padding:8px;border:1px solid rgba(196,181,253,.24);border-radius:8px;background:#242032;color:#b9b0c9;font:800 10px/1 'Fredoka',sans-serif;cursor:pointer; }
.starqc-debug-tab.active { color:#fff;border-color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 24%,#211d30); }
.starqc-debug-pane[hidden] { display:none!important; }
.starqc-theme-editor { color:#fff;font-family:'Fredoka',sans-serif; }
.starqc-theme-editor__presets { display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:10px; }
.starqc-theme-editor select,.starqc-theme-editor input,.starqc-theme-editor textarea { width:100%;min-width:0;padding:7px;border:1px solid rgba(255,255,255,.15);border-radius:7px;outline:0;background:#181622;color:#fff;font:700 10px/1.3 'Fredoka',sans-serif; }
.starqc-theme-editor textarea { resize:vertical; }
.starqc-theme-editor select:focus,.starqc-theme-editor input:focus,.starqc-theme-editor textarea:focus { border-color:var(--accent-color); }
.starqc-theme-editor button { padding:8px;border:1px solid rgba(196,181,253,.3);border-radius:7px;background:#302940;color:#fff;font:800 10px/1 'Fredoka',sans-serif;cursor:pointer; }
.starqc-theme-editor button:hover { filter:brightness(1.13); }
.starqc-theme-editor button:disabled { opacity:.5;cursor:wait; }
.starqc-theme-colors { display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0; }
.starqc-theme-colors label,.starqc-theme-field { display:block;color:#b9b0c9;font-size:9px; }
.starqc-theme-colors input[type=color] { height:31px;margin-top:4px;padding:2px;cursor:pointer; }
.starqc-theme-field { margin:8px 0; }.starqc-theme-field>span { display:block;margin-bottom:4px; }
.starqc-theme-range { display:grid;grid-template-columns:1fr 48px;align-items:center;gap:7px;margin:8px 0;color:#b9b0c9;font-size:9px; }.starqc-theme-range input { padding:0;accent-color:var(--accent-color); }
.starqc-theme-toggle { display:flex;align-items:center;justify-content:space-between;padding:8px;border-radius:8px;background:rgba(255,255,255,.04);color:#d8ccff;font-size:10px; }.starqc-theme-toggle input { width:auto;accent-color:var(--accent-color); }
.starqc-theme-assets { display:grid;grid-template-columns:1fr 1fr;gap:7px; }.starqc-theme-assets input[type=file] { font-size:8px; }
.starqc-theme-editor__actions { display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px; }.starqc-theme-editor__actions .publish { grid-column:1/-1;background:#6d28d9;border-color:#a78bfa; }
.starqc-theme-admin { margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1); }
.starqc-theme-status { min-height:14px;margin:8px 0 0;color:#a7f3d0;font-size:9px;line-height:1.35; }
.starqc-layout-studio { margin-top:14px;padding-top:13px;border-top:1px solid rgba(168,85,247,.42); }
.starqc-layout-studio h4 { margin:0 0 5px;color:#e9d5ff;font-size:12px; }.starqc-layout-studio>p { margin:0 0 10px;color:#b9b0c9;font-size:9px;line-height:1.35; }
.starqc-layout-grid { display:grid;grid-template-columns:1fr 1fr;gap:4px 9px; }.starqc-layout-grid .starqc-theme-range { margin:5px 0; }
.starqc-layout-actions { display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px; }.starqc-layout-actions button { padding:8px 5px!important;font-size:9px!important; }.starqc-layout-actions button:last-child { grid-column:1/-1;background:#5b244d!important;border-color:#d946ef!important; }
.starqc-layout-selected { outline:3px dashed #5eead4!important;outline-offset:4px!important;box-shadow:0 0 0 2px rgba(94,234,212,.16)!important; }
body.starcq-layout-picking .home-hero,body.starcq-layout-picking .balance-block,body.starcq-layout-picking .referral-block,body.starcq-layout-picking .starqc-promos,body.starcq-layout-picking .casino-catalogue-nav,body.starcq-layout-picking .section-title,body.starcq-layout-picking .home-games-grid,body.starcq-layout-picking .home-games-grid .game-card,body.starcq-layout-picking .casino-catalogue-nav button[data-debug-tab] { cursor:crosshair!important; }
body.starcq-layout-picking .home-hero:hover,body.starcq-layout-picking .balance-block:hover,body.starcq-layout-picking .referral-block:hover,body.starcq-layout-picking .starqc-promos:hover,body.starcq-layout-picking .casino-catalogue-nav:hover,body.starcq-layout-picking .section-title:hover,body.starcq-layout-picking .home-games-grid .game-card:hover,body.starcq-layout-picking .casino-catalogue-nav button[data-debug-tab]:hover { outline:2px solid #f0abfc!important;outline-offset:4px; }
@media(max-width:899px){.starqc-debug-panel.theme-inspector-open{bottom:calc(196px + var(--tg-safe-bottom,0px));}.starqc-theme-colors{grid-template-columns:1fr 1fr}}
@media(max-width:380px){.starqc-layout-grid{grid-template-columns:1fr}.starqc-debug-panel.theme-inspector-open{width:calc(100vw - 20px)}}
/* Local mode keeps the editor available through the debug toggle, but must not
   force the panel above the application when debug mode is switched off. */
.starqc-layout-studio { display:none!important; }
.starqc-pro-layout-studio { margin-top:14px;padding-top:13px;border-top:1px solid rgba(168,85,247,.42);color:#fff; }
.starqc-pro-head { display:flex;align-items:flex-start;justify-content:space-between;gap:8px; }
.starqc-pro-head h4 { margin:0 0 4px;color:#e9d5ff;font-size:12px; }
.starqc-pro-head p { margin:0;color:#b9b0c9;font-size:9px;line-height:1.35; }
.starqc-pro-head button { flex:0 0 auto;background:#6d28d9;border-color:#c084fc; }
.starqc-pro-section { margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.1); }
.starqc-pro-section h5 { margin:0 0 7px;color:#d8b4fe;font-size:10px;letter-spacing:.02em; }
.starqc-pro-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }
.starqc-pro-grid label { color:#b9b0c9;font-size:9px; }
.starqc-pro-grid input,.starqc-pro-grid select { margin-top:3px!important;padding:6px!important;font-size:9px!important; }
.starqc-pro-grid input[type=color] { height:28px;padding:2px!important;cursor:pointer; }
.starqc-pro-grid input[type=range] { padding:0!important;accent-color:var(--accent-color); }
.starqc-pro-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:11px; }
.starqc-pro-actions button { padding:8px 5px!important;font-size:9px!important; }
.starqc-pro-actions button:nth-child(4) { background:#5b244d;border-color:#d946ef; }
.starqc-pro-layout-selected { outline:3px solid #5eead4!important;outline-offset:3px!important; }
.starqc-pro-picker-hover { outline:2px dashed #f0abfc!important;outline-offset:3px!important; }
html.starqc-pro-picking body,html.starqc-pro-picking body * { cursor:crosshair!important; }
.starqc-pro-dragging { opacity:.45!important; }
@media(max-width:380px){.starqc-pro-grid{grid-template-columns:1fr}.starqc-pro-head{display:block}.starqc-pro-head button{margin-top:8px;width:100%}}

/* Stake-like geometry layer. It deliberately contains no color or background
   declarations: the existing STARQC palette and theme variables remain the
   single source of truth. */
@media (min-width:900px) {
  :root { --stake-header-height:64px;--stake-card-gap:12px;--stake-card-radius:6px; }
  .phone { padding-left:var(--desktop-sidebar); }
  .content { min-height:100vh;padding:calc(var(--stake-header-height) + 18px) 28px 52px;overflow-y:auto; }
  .casino-search-head { position:fixed;top:0;left:var(--desktop-sidebar);right:var(--desktop-chat);z-index:40;height:var(--stake-header-height);margin:0;padding:0 28px;display:flex;align-items:center;transition:left .32s cubic-bezier(.22,.8,.3,1); }
  .casino-search { width:min(100%,560px);height:40px;display:flex;align-items:center;border-radius:var(--stake-card-radius); }
  .casino-search input,.bal-btn,.referral-btn,.casino-catalogue-nav button,.modal-box,.modal-box input,.modal-box select,.modal-box textarea { border-radius:var(--stake-card-radius); }
  .home-hero { margin:0 0 12px;padding:14px 0 10px;min-height:0; }
  #mainContent .balance-block { position:sticky;top:-12px;z-index:35;min-height:64px;margin:0 0 14px;padding:12px 16px;border-radius:var(--stake-card-radius); }
  #mainContent .referral-block { min-height:58px;margin:0 0 14px;padding:10px 14px;border-radius:var(--stake-card-radius); }
  .starqc-promos { gap:var(--stake-card-gap);margin:0 0 14px; }
  html.theme-engine-active .home-games-grid .game-card,html.theme-engine-active .home-games-grid .game-card.cases-card,html.theme-engine-active .starqc-promo { border-radius:var(--stake-card-radius)!important; }
  html.theme-engine-active .home-games-grid .game-card::after { border-radius:var(--stake-card-radius)!important; }
  html.theme-engine-active .bal-btn.deposit,html.theme-engine-active .bal-btn.withdraw,html.theme-engine-active .modal-box,html.theme-engine-active .modal-confirm,html.theme-engine-active .modal-cancel { border-radius:var(--stake-card-radius)!important; }
  /* LuckyBear-inspired promo composition: one dominant hero and two stacked offers.
     Only geometry/typography is changed here; STARQC colors remain untouched. */
  .starqc-promos { grid-template-columns:minmax(0,1.7fr) minmax(190px,.9fr);grid-template-rows:repeat(2,128px);align-items:stretch; }
  .starqc-promo { min-height:0;border-radius:var(--stake-card-radius)!important;padding:15px 16px; }
  .starqc-promo--case { grid-row:1 / span 2;min-height:236px;padding:20px;justify-content:flex-end; }
  .starqc-promo--case::before { width:205px;height:205px;inset:auto -5% -22% auto; }
  .starqc-promo--case .starqc-promo__title { font-size:28px; }
  .starqc-promo--case .starqc-promo__text { max-width:54%;font-size:11px; }
  .starqc-promo:not(.starqc-promo--case) { min-height:112px; }
  .starqc-promo:not(.starqc-promo--case)::before { width:128px;height:128px;inset:auto -7% -20% auto; }
  .starqc-promo:not(.starqc-promo--case) .starqc-promo__badge { min-height:19px;font-size:8px; }
  .starqc-promo:not(.starqc-promo--case) .starqc-promo__title { margin-top:7px;font-size:17px; }
  .starqc-promo:not(.starqc-promo--case) .starqc-promo__text { max-width:57%;margin-top:5px; }
  .starqc-promo__cta { width:max-content; }
  .casino-catalogue-nav { min-height:42px;margin:0 0 16px;gap:4px;padding:4px; }
  .casino-catalogue-nav button { min-height:34px;padding:7px 12px;border-radius:var(--stake-card-radius); }
  .section-title { margin:0 0 12px;font-size:18px; }
  #mainContent { scroll-padding-top:calc(var(--stake-header-height) + 8px); }
  .home-games-grid { grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:var(--stake-card-gap);column-gap:var(--stake-card-gap);row-gap:48px;align-items:start; }
  .home-games-grid .game-card,.home-games-grid .game-card.cases-card { width:100%;height:auto;min-height:0;aspect-ratio:3 / 4;box-sizing:border-box;padding:10px 8px;border-radius:var(--stake-card-radius)!important; }
  .home-games-grid .game-card:hover { transform:translateY(-3px) scale(1.015); }
  .home-games-grid .game-card .game-icon,.home-games-grid .game-card.cases-card .game-icon { width:82px;height:82px;flex-basis:82px;border-radius:var(--stake-card-radius); }
  .home-games-grid .game-info { top:calc(100% + 8px); }
  .home-games-grid .game-card .game-info .name,.home-games-grid .game-card.cases-card .game-info .name { font-size:12px;line-height:1.1; }
  .bottom-nav { width:var(--desktop-sidebar);padding:78px 12px 84px;gap:4px; }
  .nav-item { height:44px;padding:6px 10px;grid-template-columns:28px minmax(0,1fr);column-gap:10px;border-radius:var(--stake-card-radius); }
  .nav-item .label { font-size:11px; }
  .compliance-footer { left:var(--desktop-sidebar);right:var(--desktop-chat);bottom:0;width:auto;min-height:34px;height:34px;padding:6px 20px;justify-content:center;gap:18px;transition:left .32s cubic-bezier(.22,.8,.3,1); }
  html.starqc-sidebar-closed .phone { padding-left:var(--desktop-sidebar-collapsed); }
  html.starqc-sidebar-closed .bottom-nav { width:var(--desktop-sidebar-collapsed); }
  html.starqc-sidebar-closed .casino-search-head { left:var(--desktop-sidebar-collapsed); }
  html.starqc-sidebar-closed .compliance-footer { left:var(--desktop-sidebar-collapsed); }
  html.starqc-chat-closed .casino-search-head,html.starqc-chat-closed .compliance-footer { right:0; }
  button,input,select,textarea,a,.game-card,.nav-item { transition:transform .15s ease,filter .15s ease,box-shadow .15s ease,border-color .15s ease; }
}

/* Individual lobby-card palettes with one consistent STARQC mark. */
html.theme-engine-active .home-games-grid .game-card {
  background-blend-mode:normal!important;
  box-shadow:none!important;
  filter:none!important;
}
html.theme-engine-active .home-games-grid .game-card:hover {
  box-shadow:none!important;
  filter:none!important;
}
html.theme-engine-active .home-games-grid .game-card[data-game="cases"] { background-image:url('/assets/games/cases/case-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="roulette"] { background-image:url('/assets/games/roulette/roulette-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="plinko"] { background-image:url('/assets/games/plinko/plinko-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="jackpot"] { background-image:url('/assets/games/jackpot/jackpot-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="mines"] { background-image:url('/assets/games/mines/mines-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="blackjack"] { background-image:url('/assets/games/blackjack/blackjack-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="crash"] { background-image:url('/assets/games/crash/crash-card-starqc.png?v=12')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="rps"] { background-image:url('/assets/games/rps/rps-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="dice"] { background-image:url('/assets/games/dice/dice-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="coin"] { background-image:url('/assets/games/coin/coin-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="drillTarget"] { background-image:url('/assets/games/drill-target/drill-target-card-starqc.png?v=11')!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="boreHold"] { background-image:url('/assets/games/bore-hold/bore-hold-card-starqc.png?v=11')!important; }

html.theme-engine-active .home-games-grid .game-card::before { display:none!important; }
html.theme-engine-active body.account-modal-open .casino-search-head { display:none!important; }
html.theme-engine-active body:has(#withdrawModal.show) .casino-search-head,
html.theme-engine-active body:has(#depositModal.show) .casino-search-head { display:none!important; }
html.theme-engine-active .ton-withdraw-mark img { width:24px;height:24px;display:block;object-fit:contain; }
@media (max-width:899px) {
  .home-games-grid .game-card { border-radius:6px;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease; }
  .home-games-grid .game-card:hover { transform:translateY(-2px) scale(1.01); }
  .starqc-promo__cta { min-height:22px;margin-top:8px;padding:0 10px; }
}

/* Active category stays transparent while retaining a clear outline. */
html.theme-engine-active .casino-category-nav button.active,
html.theme-engine-active .casino-category-nav button.active:hover,
html.theme-engine-active .casino-catalogue-nav button.active,
html.theme-engine-active .casino-catalogue-nav button.active:hover {
  background:transparent!important;
  border:1px solid #d946ef!important;
  color:#fff!important;
  box-shadow:0 0 0 1px rgba(217,70,239,.28),0 0 14px rgba(217,70,239,.16)!important;
}
html.theme-engine-active .casino-category-nav .cat-icon,
html.theme-engine-active .casino-catalogue-nav .cat-icon { display:none!important; }

/* Desktop HQ card and promo treatment. Existing STARQC colors are reused. */
.home-games-grid .game-card-play { display:none; }
.starqc-promos { position:relative; }
.starqc-promo-controls { position:absolute;z-index:60;top:10px;right:10px;display:flex;align-items:center;gap:6px; }
.starqc-promo-arrow { width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:7px;background:rgba(17,16,27,.5);color:#fff;font:700 20px/1 'Fredoka',sans-serif;cursor:pointer;backdrop-filter:blur(8px); }
.starqc-promo-dots { display:flex;align-items:center;gap:4px; }
.starqc-promo-dot { width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:transform .15s ease,background .15s ease; }
.starqc-promo-dot.is-active { transform:scale(1.35);background:#fff; }
@media (min-width:900px) {
  .home-games-grid { grid-template-columns:repeat(5,minmax(0,1fr));column-gap:14px;row-gap:54px; }
  .home-games-grid .game-card { width:100%;height:auto;min-height:0;aspect-ratio:3 / 4;overflow:hidden;border-radius:8px!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease; }
  .home-games-grid .game-card::after { content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,transparent 26%,rgba(17,16,27,.88) 100%);opacity:0;transition:opacity .18s ease; }
  .home-games-grid .game-card-play { position:absolute;z-index:3;left:50%;top:50%;display:inline-flex;align-items:center;justify-content:center;min-width:94px;min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.72);border-radius:8px;background:rgba(139,92,246,.9);box-shadow:0 8px 22px rgba(0,0,0,.28),0 0 18px rgba(217,70,239,.3);color:#fff;font:800 12px/1 'Fredoka',sans-serif;letter-spacing:.15px;opacity:0;transform:translate(-50%,-42%) scale(.94);transition:opacity .18s ease,transform .18s ease;pointer-events:none; }
  .home-games-grid .game-card:hover { z-index:4;transform:scale(1.04);filter:brightness(1.08);box-shadow:0 14px 32px rgba(0,0,0,.34),0 0 22px rgba(217,70,239,.3); }
  .home-games-grid .game-card:hover::after { opacity:1; }
  /* Keep the artwork footer clear when a card is hovered. */
  .home-games-grid .game-card:hover::after { opacity:0!important; }
  .home-games-grid .game-card:hover .game-card-play { opacity:1;transform:translate(-50%,-50%) scale(1); }
  .home-games-grid .game-card:active { transform:scale(1.015); }
  .home-games-grid .game-card[data-game="coin"],.home-games-grid .game-card[data-game="rps"],.home-games-grid .game-card[data-game="roulette"] { background-size:cover!important;background-position:center!important; }
  .home-games-grid .game-card[data-game="cases"],.home-games-grid .game-card[data-game="mines"],.home-games-grid .game-card[data-game="blackjack"],.home-games-grid .game-card[data-game="crash"],.home-games-grid .game-card[data-game="dice"],.home-games-grid .game-card[data-game="plinko"],.home-games-grid .game-card[data-game="jackpot"] { background-size:cover!important;background-position:center!important; }

  /* HQ promo art is rendered as a full-bleed layer so the theme engine can still recolor cards safely. */
  .starqc-promo { position:relative; }
  .starqc-promo--case { --promo-image:url('/assets/marketing/promo-case-hq.png?v=1'); }
  .starqc-promo--mines { --promo-image:url('/assets/marketing/promo-mines-hq.png?v=1'); }
  .starqc-promo--crash { --promo-image:url('/assets/marketing/promo-crash-hq.png?v=1'); }
  .starqc-promo::before { inset:0;width:auto;height:auto;z-index:-2;background-position:center;background-size:cover;transform:none;filter:none;opacity:.95;transition:transform .28s ease,filter .28s ease; }
  .starqc-promo::after { z-index:-1;background:linear-gradient(90deg,rgba(17,16,27,.94) 0%,rgba(17,16,27,.68) 38%,rgba(17,16,27,.06) 100%),linear-gradient(180deg,rgba(17,16,27,.06),rgba(17,16,27,.62));opacity:1; }
  .starqc-promo:hover::before { transform:scale(1.04);filter:saturate(1.08) brightness(1.06); }
  .starqc-promo-controls { position:absolute;z-index:60;top:12px;right:12px;display:flex;align-items:center;gap:6px; }
  .starqc-promo-arrow { width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:7px;background:rgba(17,16,27,.5);color:#fff;font:700 20px/1 'Fredoka',sans-serif;cursor:pointer;backdrop-filter:blur(8px); }
  .starqc-promo-arrow:hover { filter:brightness(1.15);transform:translateY(-1px); }
  .starqc-promo-dots { display:flex;align-items:center;gap:4px; }
  .starqc-promo-dot { width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:transform .15s ease,background .15s ease; }
  .starqc-promo-dot.is-active { transform:scale(1.35);background:#fff; }
  .starqc-promo.is-active { box-shadow:0 0 0 1px rgba(255,255,255,.22),0 12px 28px rgba(0,0,0,.28),0 0 24px var(--promo-glow); }
}

/* Carousel navigation is intentionally hidden everywhere; banners remain static. */
.starqc-promo-controls { display:none!important; }
@media (min-width:1200px) { .home-games-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media (min-width:1600px) { .home-games-grid { grid-template-columns:repeat(7,minmax(0,1fr)); } }
@media (max-width:899px) {
  .starqc-promo-controls { top:8px;right:8px; }
  .starqc-promo-arrow { width:26px;height:26px; }
  .starqc-promo::before { background-size:cover;opacity:.88; }
  .starqc-promo::after { background:linear-gradient(90deg,rgba(17,16,27,.94),rgba(17,16,27,.34) 70%),linear-gradient(180deg,rgba(17,16,27,.04),rgba(17,16,27,.72)); }
}

/* Keep the Stars/USDT balance as a separate compact desktop header widget. */
@media (min-width:900px) {
  #mainContent { position:relative; }
  /* The banner is the first visual block; search follows it at full width. */
  #mainContent .starqc-promos { margin-top:0; }
  #mainContent .casino-search-head {
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    z-index:30;
    width:100%;
    height:50px;
    margin:0 0 24px;
    padding:0;
    display:block;
  }
  #mainContent .casino-search { width:100%; }
  /* Search belongs to the games catalogue only; never let it float over tab/game screens. */
  html:has(.tab-screen.show) #mainContent .casino-search-head,
  html:has(.game-overlay.show) #mainContent .casino-search-head {
    visibility:hidden;
    pointer-events:none;
  }
  /* Keep the balance as a compact item inside the right-hand actions frame. */
  #mainContent > .balance-actions .balance-block {
    position:static;
    width:max-content;
    min-width:0;
    max-width:none;
    min-height:50px;
    margin:0;
    padding:9px 10px;
    display:flex;
    justify-content:flex-end;
    box-sizing:border-box;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
    animation:none!important;
    transform:none!important;
  }
  #mainContent > .balance-actions {
    position:absolute;
    top:18px;
    left:auto;
    right:28px;
    z-index:36;
    display:flex;
    align-items:center;
    margin:0;
    transform:none;
  }
  #mainContent > .balance-actions .balance-actions-top {
    display:flex;
    align-items:center;
    gap:8px;
    height:50px;
    box-sizing:border-box;
    justify-content:center;
    padding:5px;
    border:1px solid rgba(196,181,253,.18);
    border-radius:8px;
    background:rgba(24,22,34,.92);
  }
  #mainContent > .balance-actions .balance-block .balance-left { width:auto;flex:0 1 auto; }
  #mainContent > .balance-actions .balance-block .balance-row { width:max-content;max-width:100%; }
  #mainContent > .balance-actions .balance-block .balance-row { justify-content:flex-end; }
  #mainContent > .balance-actions .bal-btn.withdraw {
    border:0!important;
    background:rgba(139,92,246,.12)!important;
    box-shadow:none!important;
  }
  #mainContent > .balance-actions .bal-btn.deposit {
    border:0!important;
    background:#f7c948!important;
    box-shadow:none!important;
  }
  #mainContent > .balance-actions .balance-actions-top[hidden],
  #mainContent > .balance-actions #websiteLoginBtn[hidden] { display:none!important; }
  #mainContent > .balance-actions .balance-block.balance-row-compact .amount,
  #mainContent > .balance-actions .balance-block.balance-row-compact .balance-ton { font-size:26px;line-height:26px; }
}

/* Wider game stage and larger desktop betting controls. */
@media (min-width:900px) {
  .game-overlay.show > .game-area { width:min(1440px,calc(100% - 40px))!important;max-width:min(1440px,calc(100% - 40px))!important;min-height:calc(100vh - 84px); }
  .game-overlay .game-header { min-height:68px;padding-left:24px;padding-right:24px; }
  .game-area canvas,.game-area iframe { width:100%;min-height:440px; }
  .game-area .pvc-adj button,.game-area .c-bet-adj button,.game-area .roulette-adjust button { min-width:40px!important;height:40px!important; }
  .game-area .pvp-create-btn,.game-area .pvc-create-btn,.game-area .roulette-spin,.game-area .crash-bet-button,.game-area .c-bet-action { min-height:48px!important; }
  .game-area .history-list,.game-area .crash-history-bar,.game-area .roulette-history { min-height:44px; }
  .game-area > .roulette-game > .roulette-betting,
  .game-area > .roulette-game > .roulette-footer,
  .game-area > .crash-game > .crash-bet-panel,
  .game-area > .jackpot-game > .jackpot-controls,
  .game-area > .mines-solo > .roulette-board,
  .game-area > .bj-solo > .roulette-board { width:100%;max-width:none; }
  .game-area > .plinko-game > .plinko-betting { width:100%;max-width:none; }
  .game-area > .plinko-game > .roulette-footer { width:100%;max-width:none; }
  .game-area > .plinko-game .plinko-board { width:100%!important;height:clamp(360px,calc(100vh - 230px),560px)!important;min-height:360px!important;flex-basis:auto!important; }
  .game-area > .plinko-game #plinkoCanvas { width:100%!important;height:calc(100% - 42px)!important;min-height:0!important; }
  .game-area > .plinko-game > .plinko-betting { display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,340px);grid-template-rows:auto minmax(0,1fr) auto;gap:14px 18px;align-items:stretch; }
  .game-area > .plinko-game > .plinko-betting > .roulette-bankline { grid-column:1/-1; }
  .game-area > .plinko-game > .plinko-betting > .plinko-board { grid-column:1;grid-row:2; }
  .game-area > .plinko-game > .plinko-betting > .roulette-board { grid-column:2;grid-row:2;align-self:end;margin:0; }
  .game-area > .plinko-game > .plinko-betting > .roulette-spin { grid-column:2;grid-row:3;align-self:end;margin:0; }
}

/* STARQC visual system v2 -------------------------------------------------
   Keep the supplied artwork as the hero.  Motion is used for hierarchy and
   feedback only: no added banner frames or neon halos. */
:root {
  --starqc-motion-fast:160ms;
  --starqc-motion-base:240ms;
  --starqc-motion-slow:360ms;
  --starqc-ease:cubic-bezier(.22,.8,.3,1);
  --starqc-ease-spring:cubic-bezier(.2,.85,.25,1.2);
  --starqc-surface-border:rgba(196,181,253,.16);
  --starqc-surface-shadow:0 14px 32px rgba(5,4,12,.22);
}

html.theme-engine-active {
  scroll-behavior:smooth;
}

html.theme-engine-active #mainContent {
  background-image:
    var(--app-background-image),
    var(--app-background-gradient)!important;
  background-repeat:no-repeat;
  background-size:cover,cover;
}

html.theme-engine-active button,
html.theme-engine-active a,
html.theme-engine-active input,
html.theme-engine-active select,
html.theme-engine-active textarea,
html.theme-engine-active .game-card,
html.theme-engine-active .starqc-promo {
  -webkit-tap-highlight-color:transparent;
}

html.theme-engine-active button:focus-visible,
html.theme-engine-active a:focus-visible,
html.theme-engine-active input:focus-visible,
html.theme-engine-active select:focus-visible,
html.theme-engine-active textarea:focus-visible,
html.theme-engine-active .game-card:focus-visible,
html.theme-engine-active .starqc-promo:focus-visible {
  outline:2px solid color-mix(in srgb,var(--accent-color) 82%,#fff);
  outline-offset:3px;
}

@keyframes starqcPageReveal {
  from { opacity:0;transform:translateY(10px); }
  to { opacity:1;transform:translateY(0); }
}
@keyframes starqcSoftReveal {
  from { opacity:0;transform:translateY(14px) scale(.988); }
  to { opacity:1;transform:translateY(0) scale(1); }
}
@keyframes starqcPanelReveal {
  from { opacity:0;transform:translateY(12px); }
  to { opacity:1;transform:translateY(0); }
}
@keyframes starqcBackdropReveal {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes starqcModalReveal {
  from { opacity:0;transform:translateY(12px) scale(.97); }
  to { opacity:1;transform:translateY(0) scale(1); }
}
@keyframes starqcValuePulse {
  0% { transform:translateZ(0); }
  42% { transform:translateZ(0) scale(1.035);color:#fff; }
  100% { transform:translateZ(0) scale(1); }
}
@keyframes starqcRipple {
  from { opacity:.32;transform:translate(-50%,-50%) scale(0); }
  to { opacity:0;transform:translate(-50%,-50%) scale(1); }
}
@keyframes starqcSheen {
  from { transform:translateX(-120%) skewX(-16deg); }
  to { transform:translateX(170%) skewX(-16deg); }
}

html.theme-engine-active .balance-block,
html.theme-engine-active .referral-block,
html.theme-engine-active .starqc-promos,
html.theme-engine-active .casino-search-head,
html.theme-engine-active .casino-catalogue-nav,
html.theme-engine-active .section-title {
  animation:starqcPageReveal var(--starqc-motion-slow) var(--starqc-ease) both;
}
html.theme-engine-active .referral-block { animation-delay:45ms; }
html.theme-engine-active .starqc-promos { animation-delay:80ms; }
html.theme-engine-active .casino-search-head { animation-delay:120ms; }
html.theme-engine-active .casino-catalogue-nav { animation-delay:155ms; }
html.theme-engine-active .section-title { animation-delay:190ms; }

html.theme-engine-active .starqc-promos .starqc-promo {
  animation:starqcSoftReveal var(--starqc-motion-slow) var(--starqc-ease) both;
  animation-delay:var(--starqc-motion-delay,100ms);
  transform:translateZ(0);
  will-change:transform;
}
html.theme-engine-active .starqc-promos .starqc-promo:nth-of-type(2) { --starqc-motion-delay:110ms; }
html.theme-engine-active .starqc-promos .starqc-promo:nth-of-type(3) { --starqc-motion-delay:140ms; }
html.theme-engine-active .starqc-promos .starqc-promo__image {
  transition:transform 620ms var(--starqc-ease),filter 620ms var(--starqc-ease);
  will-change:transform;
}
html.theme-engine-active .starqc-promo:hover .starqc-promo__image,
html.theme-engine-active .starqc-promo:focus-within .starqc-promo__image {
  transform:scale(1.025)!important;
  filter:saturate(1.04) brightness(1.035);
}
html.theme-engine-active .starqc-promo:active { transform:scale(.995)!important; }

html.theme-engine-active .home-games-grid .game-card {
  animation:starqcSoftReveal var(--starqc-motion-slow) var(--starqc-ease) both!important;
  animation-delay:var(--starqc-motion-delay,0ms)!important;
  box-shadow:0 12px 28px rgba(5,4,12,.22)!important;
  transition:transform var(--starqc-motion-base) var(--starqc-ease),
             box-shadow var(--starqc-motion-base) var(--starqc-ease),
             filter var(--starqc-motion-base) var(--starqc-ease)!important;
  will-change:transform;
}
html.theme-engine-active .home-games-grid .game-card:nth-child(1) { --starqc-motion-delay:40ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(2) { --starqc-motion-delay:65ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(3) { --starqc-motion-delay:90ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(4) { --starqc-motion-delay:115ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(5) { --starqc-motion-delay:140ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(6) { --starqc-motion-delay:165ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(7) { --starqc-motion-delay:190ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(8) { --starqc-motion-delay:215ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(9) { --starqc-motion-delay:240ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(10) { --starqc-motion-delay:265ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(11) { --starqc-motion-delay:290ms; }
html.theme-engine-active .home-games-grid .game-card:nth-child(12) { --starqc-motion-delay:315ms; }
html.theme-engine-active .home-games-grid .game-card:hover,
html.theme-engine-active .home-games-grid .game-card:focus-within {
  box-shadow:0 18px 34px rgba(5,4,12,.32)!important;
}
/* Keep a distinct branded color visible while a remote art asset is loading. */
html.theme-engine-active .home-games-grid .game-card[data-game="cases"] { background-color:#291735!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="roulette"] { background-color:#1b2a3d!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="plinko"] { background-color:#21345a!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="jackpot"] { background-color:#3a203f!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="mines"] { background-color:#15363a!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="blackjack"] { background-color:#3a2b17!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="crash"] { background-color:#162f45!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="rps"] { background-color:#2f1d4a!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="dice"] { background-color:#3e2c18!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="coin"] { background-color:#1a3a45!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="drillTarget"] { background-color:#29302c!important; }
html.theme-engine-active .home-games-grid .game-card[data-game="boreHold"] { background-color:#321f22!important; }
html.theme-engine-active .starqc-promo--case { background-color:#2d1749!important; }
html.theme-engine-active .starqc-promo--mines { background-color:#1a2939!important; }
html.theme-engine-active .starqc-promo--crash { background-color:#342034!important; }

html.theme-engine-active .home-hero {
  animation:starqcPageReveal var(--starqc-motion-slow) var(--starqc-ease) both;
}
html.theme-engine-active .home-hero .home-brand,
html.theme-engine-active .home-hero small { animation:starqcPageReveal 520ms var(--starqc-ease) both; }
html.theme-engine-active .home-hero small { animation-delay:70ms; }

html.theme-engine-active .tab-screen.show {
  animation:starqcPanelReveal 300ms var(--starqc-ease) both;
}
html.theme-engine-active .tab-screen.show > * {
  animation:starqcSoftReveal 360ms var(--starqc-ease) both;
}
html.theme-engine-active .game-overlay.show {
  animation:starqcPanelReveal 300ms var(--starqc-ease) both;
}
html.theme-engine-active .game-overlay.show .game-area > * {
  animation:starqcSoftReveal 380ms var(--starqc-ease) 40ms both;
}
html.theme-engine-active .modal-overlay.show {
  animation:starqcBackdropReveal 180ms ease-out both;
}
html.theme-engine-active .modal-overlay.show .modal-box {
  opacity:1!important;
  animation:starqcModalReveal 280ms var(--starqc-ease-spring) both;
}

html.theme-engine-active .starqc-value-pulse {
  animation:starqcValuePulse 420ms var(--starqc-ease) both!important;
}
html.theme-engine-active .starqc-ripple {
  position:absolute;
  left:var(--starqc-ripple-x,50%);
  top:var(--starqc-ripple-y,50%);
  width:26px;
  height:26px;
  border-radius:50%;
  pointer-events:none;
  background:rgba(255,255,255,.45);
  animation:starqcRipple 520ms ease-out both;
}
html.theme-engine-active .bal-btn,
html.theme-engine-active .modal-confirm,
html.theme-engine-active .modal-cancel,
html.theme-engine-active .primary-action,
html.theme-engine-active .referral-btn,
html.theme-engine-active .casino-catalogue-nav button,
html.theme-engine-active .starqc-promo__cta {
  position:relative;
  overflow:hidden;
  transition:transform var(--starqc-motion-fast) var(--starqc-ease),
             filter var(--starqc-motion-fast) ease,
             background-color var(--starqc-motion-fast) ease,
             border-color var(--starqc-motion-fast) ease!important;
}
html.theme-engine-active .bal-btn:hover:not(:disabled),
html.theme-engine-active .modal-confirm:hover:not(:disabled),
html.theme-engine-active .modal-cancel:hover:not(:disabled),
html.theme-engine-active .primary-action:hover:not(:disabled),
html.theme-engine-active .referral-btn:hover,
html.theme-engine-active .casino-catalogue-nav button:hover,
html.theme-engine-active .starqc-promo__cta:hover {
  transform:translateY(-1px);
  filter:brightness(1.06);
}
html.theme-engine-active .bal-btn:active:not(:disabled),
html.theme-engine-active .modal-confirm:active:not(:disabled),
html.theme-engine-active .modal-cancel:active:not(:disabled),
html.theme-engine-active .primary-action:active:not(:disabled),
html.theme-engine-active .referral-btn:active,
html.theme-engine-active .casino-catalogue-nav button:active,
html.theme-engine-active .starqc-promo__cta:active {
  transform:translateY(0) scale(.975);
}

@media (hover:none) {
  html.theme-engine-active .starqc-promo:hover,
  html.theme-engine-active .home-games-grid .game-card:hover { transform:none!important;box-shadow:0 12px 28px rgba(5,4,12,.22)!important;filter:none!important; }
  html.theme-engine-active .starqc-promo:hover .starqc-promo__image { transform:none!important;filter:none; }
}

@media (max-width:899px) {
  html.theme-engine-active .starqc-promos .starqc-promo { animation-duration:320ms; }
  html.theme-engine-active .home-games-grid .game-card { animation-duration:320ms!important; }
  html.theme-engine-active .home-games-grid .game-card:nth-child(n) { animation-delay:var(--starqc-motion-delay,0ms)!important; }
  html.theme-engine-active .starqc-promos .starqc-promo__image { transition-duration:420ms; }
}

@media (prefers-reduced-motion:reduce) {
  html.theme-engine-active,
  html.theme-engine-active * { scroll-behavior:auto!important;animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important; }
  html.theme-engine-active .starqc-ripple { display:none!important; }
}

/* --------------------------------------------------------------------------
   STARQC GAME STUDIO
   Shared game shell for every route.  The lobby cards are the visual source
   of truth: deep plum surfaces, one saturated accent, compact borders and
   motion that explains a state change instead of decorating the page.
---------------------------------------------------------------------------- */
html.theme-engine-active #gameOverlay {
  --starqc-game-bg:#151321;
  --starqc-game-surface:#1d192a;
  --starqc-game-surface-2:#241d35;
  --starqc-game-line:rgba(196,181,253,.18);
  --starqc-game-accent:#a855f7;
  --starqc-game-accent-2:#d946ef;
  --starqc-game-success:#35d39a;
  --starqc-game-warning:#f7c948;
  --starqc-game-danger:#f05a78;
  color:#f8f7fb;
}

html.theme-engine-active #gameOverlay .game-header {
  min-height:64px;
  border-bottom:1px solid rgba(196,181,253,.12)!important;
  background:linear-gradient(180deg,#211a30,#1b1725)!important;
  box-shadow:0 8px 24px rgba(7,4,18,.22)!important;
}
html.theme-engine-active #gameOverlay .game-header h2 {
  letter-spacing:-.2px;
  text-shadow:0 1px 0 rgba(255,255,255,.04);
}
html.theme-engine-active #gameOverlay .game-header .back {
  border:1px solid rgba(196,181,253,.18)!important;
  background:#2b2340!important;
  transition:transform 180ms ease,background 180ms ease,border-color 180ms ease!important;
}
html.theme-engine-active #gameOverlay .game-header .back:hover {
  transform:translateX(-2px);
  border-color:rgba(217,70,239,.54)!important;
  background:#34294d!important;
}

html.theme-engine-active #gameOverlay #gameArea {
  box-sizing:border-box;
  scrollbar-width:thin;
  scrollbar-color:rgba(168,85,247,.54) transparent;
  background:
    radial-gradient(ellipse 60% 35% at 50% 0,rgba(168,85,247,.08),transparent 72%),
    #151321!important;
}
html.theme-engine-active #gameOverlay #gameArea::-webkit-scrollbar { width:8px;height:8px; }
html.theme-engine-active #gameOverlay #gameArea::-webkit-scrollbar-thumb { border-radius:99px;background:rgba(168,85,247,.42); }
html.theme-engine-active #gameOverlay #gameArea::-webkit-scrollbar-track { background:transparent; }

/* Every game gets the same framed stage.  Details remain a separate card so
   the playable surface and the explanatory copy never compete for attention. */
html.theme-engine-active #gameArea > :is(.cases-screen,.roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.game-preview,.game-lobby,.arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen) {
  --game-line:var(--starqc-game-line);
  --game-accent:var(--starqc-game-accent);
  --game-accent-2:var(--starqc-game-accent-2);
  box-sizing:border-box;
  position:relative;
  isolation:isolate;
  color:#f8f7fb;
  border:1px solid var(--game-line)!important;
  border-radius:16px!important;
  background:
    linear-gradient(145deg,rgba(36,29,53,.96),rgba(18,16,27,.98))!important;
  box-shadow:0 18px 42px rgba(5,4,12,.24),inset 0 1px rgba(255,255,255,.035)!important;
  overflow:hidden;
}
html.theme-engine-active #gameArea > :is(.cases-screen,.roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.game-preview,.game-lobby,.arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen)::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 86% 4%,color-mix(in srgb,var(--game-accent) 16%,transparent),transparent 26%),
    radial-gradient(circle at 12% 94%,color-mix(in srgb,var(--game-accent-2) 10%,transparent),transparent 34%);
}

/* Match the 1144px catalogue rhythm and stop the desktop flexbox from
   squeezing the game before its controls.  Mobile keeps the existing flow. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) {
    width:min(1200px,calc(100% - 48px))!important;
    max-width:1200px!important;
    margin:8px auto 26px!important;
    padding:18px 22px 32px!important;
    align-items:center;
    border:1px solid rgba(196,181,253,.12)!important;
    border-radius:18px!important;
    box-shadow:0 18px 46px rgba(5,4,12,.22)!important;
  }
  html.theme-engine-active #gameArea > :not(.starqc-game-details) { flex-shrink:0!important; }
  html.theme-engine-active #gameArea > :is(.roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo) {
    width:100%!important;
    max-width:1120px!important;
    min-height:430px!important;
    height:auto!important;
    max-height:none!important;
    margin-inline:auto!important;
    overflow:visible!important;
  }
  /* Mines and blackjack have a vertical control stack.  Give the stack real
     room instead of letting flexbox shrink it underneath the details card. */
  html.theme-engine-active #gameArea > .mines-solo {
    min-height:620px!important;
    overflow:auto!important;
  }
  html.theme-engine-active #gameArea > .bj-solo {
    min-height:500px!important;
    overflow:auto!important;
  }
  html.theme-engine-active #gameArea > .cases-screen {
    width:100%!important;
    max-width:1120px!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin-inline:auto!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameArea > .game-preview,
  html.theme-engine-active #gameArea > .game-lobby {
    width:min(860px,100%)!important;
    max-width:860px!important;
    min-height:0!important;
    flex:0 0 auto!important;
    margin-inline:auto!important;
  }
  html.theme-engine-active #gameArea > .starqc-game-details {
    width:min(860px,100%)!important;
    margin:22px auto 8px!important;
    border-color:rgba(196,181,253,.22)!important;
    border-radius:14px!important;
    background:linear-gradient(145deg,rgba(36,29,53,.92),rgba(18,16,27,.96))!important;
    box-shadow:0 12px 28px rgba(5,4,12,.2),inset 0 1px rgba(255,255,255,.035)!important;
  }
}

/* Keep the same hierarchy on narrow screens: shortcuts above the amount, with
   the multiplier controls aligned to its right. */
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:26px 38px!important;
    align-items:center!important;
    column-gap:5px!important;
    row-gap:4px!important;
    width:100%!important;
    min-height:82px!important;
    height:82px!important;
    padding:6px!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions {
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    gap:3px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button {
    min-width:0!important;
    height:26px!important;
    min-height:26px!important;
    padding:0 2px!important;
    border:1px solid rgba(167,139,250,.3)!important;
    border-radius:6px!important;
    background:rgba(139,92,246,.08)!important;
    color:rgba(246,241,255,.78)!important;
    font:800 9px/1 'Fredoka',sans-serif!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row {
    grid-column:1!important;
    grid-row:2!important;
    width:auto!important;
    min-width:0!important;
    min-height:38px!important;
    height:38px!important;
    padding:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row input {
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    font-size:16px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-adjust {
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
  }
}

/* v276 — keep Roulette's quick amounts in the same framed amount board as the
   value field.  The four shortcuts form a readable top row; the amount and
   multiplier controls stay together underneath. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    height:176px!important;
    min-height:176px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:28px 42px!important;
    align-items:center!important;
    column-gap:6px!important;
    row-gap:5px!important;
    flex:0 0 94px!important;
    width:100%!important;
    height:94px!important;
    min-height:94px!important;
    margin:0!important;
    padding:6px 7px 7px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.3)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.025)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions {
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-self:stretch!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    gap:4px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button {
    min-width:0!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    padding:0 4px!important;
    border:1px solid rgba(167,139,250,.34)!important;
    border-radius:7px!important;
    background:linear-gradient(180deg,rgba(139,92,246,.12),rgba(255,255,255,.035))!important;
    color:rgba(246,241,255,.82)!important;
    font:800 10px/1 'Fredoka',sans-serif!important;
    letter-spacing:0!important;
    box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button:hover:not(:disabled) {
    border-color:rgba(210,178,255,.72)!important;
    background:linear-gradient(180deg,rgba(168,85,247,.28),rgba(139,92,246,.12))!important;
    color:#fff!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button:active:not(:disabled) {
    background:rgba(139,92,246,.3)!important;
    transform:translateY(1px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row {
    grid-column:1!important;
    grid-row:2!important;
    align-self:stretch!important;
    width:auto!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row input {
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    font-size:17px!important;
    text-align:left!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-adjust {
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    align-self:stretch!important;
    gap:4px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
  }
}

/* v315 — Final playable-cabinet cascade, after all slot-specific legacy rules. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-inline:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  position:relative!important;
  width:100%!important;
  max-width:620px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3 / 4!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:24px!important;
  background:#090511 url('/assets/games/slots/cabinet.webp?v=2') center / 100% 100% no-repeat!important;
  box-shadow:0 18px 54px rgba(4,1,12,.72),0 0 42px rgba(215,53,219,.22)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__header {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  z-index:2!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:25.5%!important;
  right:10.5%!important;
  bottom:27.5%!important;
  left:10.5%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}

/* v344: continuous chrome cylinders, with live symbols composited above them.
   The cell backgrounds stay transparent so the reel surface never becomes a
   grid of opaque black/purple tiles. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels {
  gap:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  background:
    linear-gradient(90deg,
      #170521 0%,
      rgba(255,39,221,.42) 1.2%,
      rgba(148,35,163,.45) 3.5%,
      rgba(45,10,62,.88) 11%,
      rgba(107,31,126,.52) 28%,
      rgba(31,7,46,.94) 50%,
      rgba(107,31,126,.52) 72%,
      rgba(45,10,62,.88) 89%,
      rgba(148,35,163,.45) 96.5%,
      rgba(255,39,221,.42) 98.8%,
      #170521 100%),
    linear-gradient(180deg,#4a125c 0%,#2b0b3b 38%,#1b0628 68%,#350b48 100%)!important;
  box-shadow:
    inset 0 0 20px rgba(255,39,221,.15),
    inset 14px 0 18px rgba(255,39,221,.1),
    inset -14px 0 18px rgba(118,40,255,.12)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:block!important;
  inset:-3% -14%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 118% no-repeat!important;
  opacity:.78!important;
  mix-blend-mode:screen!important;
  filter:brightness(1.34) saturate(1.32) contrast(1.08)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(255,44,224,.96) 0 1px,
      rgba(255,65,226,.34) 1px 5px,
      transparent 5px calc(100% - 5px),
      rgba(255,65,226,.34) calc(100% - 5px) calc(100% - 1px),
      rgba(255,44,224,.96) calc(100% - 1px) 100%),
    linear-gradient(180deg,
      transparent 0 32.4%,
      rgba(255,115,236,.2) 32.8% 33.4%,
      rgba(255,255,255,.055) 33.4% 34%,
      transparent 34% 65.8%,
      rgba(255,115,236,.2) 66.2% 66.8%,
      rgba(255,255,255,.055) 66.8% 67.4%,
      transparent 67.4% 100%)!important;
  mix-blend-mode:screen!important;
  opacity:.92!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(255,128,237,.11)!important;
  box-shadow:none!important;
  z-index:1!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell:last-child {
  border-bottom:0!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  height:110%!important;
  filter:drop-shadow(0 0 7px rgba(255,36,224,.64))!important;
}




/* v177b — on wide screens the player cards belong in the open column between
   the navigation rail and the wheel.  Keep them out of the vertical flow and
   give both sides of that column the same breathing space. */
@media (min-width:1200px) {
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) {
    position:relative!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell {
    height:clamp(350px,calc(100vh - 490px),390px)!important;
    min-height:clamp(350px,calc(100vh - 490px),390px)!important;
    margin-top:73px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell > .jackpot-wheel {
    width:clamp(350px,calc(100vh - 490px),390px)!important;
    height:clamp(350px,calc(100vh - 490px),390px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-result {
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game.jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-controls.jackpot-controls {
    margin-top:10px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-list.jackpot-list {
    position:absolute!important;
    z-index:2!important;
    left:var(--jackpot-player-left,-168px)!important;
    top:calc(14px + 55px + 79px + (clamp(350px,calc(100vh - 490px),390px) / 2))!important;
    transform:translateY(-50%)!important;
    width:min(320px,calc(40% - 20px))!important;
    max-width:320px!important;
    max-height:210px!important;
    margin:0!important;
  }
  html.theme-engine-active.starqc-chat-closed.starqc-sidebar-closed #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-list.jackpot-list {
    --jackpot-player-left:-168px;
  }
  html.theme-engine-active.starqc-chat-closed.starqc-sidebar-expanded #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-list.jackpot-list {
    --jackpot-player-left:-127px;
  }
  html.theme-engine-active:not(.starqc-chat-closed).starqc-sidebar-closed #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-list.jackpot-list {
    --jackpot-player-left:-79px;
  }
  html.theme-engine-active:not(.starqc-chat-closed):not(.starqc-sidebar-expanded) #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-list.jackpot-list {
    --jackpot-player-left:-79px;
  }
  html.theme-engine-active:not(.starqc-chat-closed).starqc-sidebar-expanded #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) > .jackpot-list.jackpot-list {
    --jackpot-player-left:-38px;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen).is-drawing > .jackpot-list,
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen).is-result > .jackpot-list,
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen).is-refunded > .jackpot-list {
    display:none!important;
  }
}

/* Crash amount controls: keep the outline, remove the filled tile. */
html.theme-engine-active #gameOverlay #gameArea:has(> #crashGame) > #crashGame > .crash-bet-panel > .roulette-board > .roulette-adjust > button,
html.theme-engine-active #gameOverlay #gameArea:has(> #crashGame) > #crashGame > .crash-bet-panel > .roulette-board > .roulette-adjust > button:hover:not(:disabled),
html.theme-engine-active #gameOverlay #gameArea:has(> #crashGame) > #crashGame > .crash-bet-panel > .roulette-board > .roulette-adjust > button:active:not(:disabled),
html.theme-engine-active #gameOverlay #gameArea:has(> #crashGame) > #crashGame > .crash-bet-panel > .roulette-board > .roulette-adjust > button:focus-visible {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* v348: final asset-cylinder overrides. Keep this block last so the live
   3x3 symbols are composited over the supplied transparent shell. */
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  z-index:5!important;
  isolation:isolate!important;
  overflow:hidden!important;
  gap:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:url('/assets/games/slots/reels-cylinder-empty-user-hq.png?v=348') center 50% / 100% auto no-repeat!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::after {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  z-index:1!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(8,1,18,.32),transparent 13% 87%,rgba(8,1,18,.32)),
    linear-gradient(180deg,transparent 0 32.4%,rgba(255,115,236,.16) 32.8% 33.4%,transparent 33.4% 65.8%,rgba(255,115,236,.16) 66.2% 66.8%,transparent 66.8% 100%)!important;
  mix-blend-mode:screen!important;
  opacity:.9!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  z-index:2!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell:last-child {
  border-bottom:0!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  height:110%!important;
  filter:drop-shadow(0 0 7px rgba(255,36,224,.64))!important;
}

/* v347: use the supplied transparent triple-cylinder asset as the reel shell.
   The symbols stay live DOM nodes so spins/results remain interactive, while
   the asset supplies the rounded barrel sides and chrome highlights. */
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  z-index:5!important;
  isolation:isolate!important;
  overflow:hidden!important;
  gap:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:url('/assets/games/slots/reels-cylinder-empty-user-hq.png?v=347') center 50% / 100% auto no-repeat!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::after {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  z-index:1!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(8,1,18,.32),transparent 13% 87%,rgba(8,1,18,.32)),
    linear-gradient(180deg,transparent 0 32.4%,rgba(255,115,236,.16) 32.8% 33.4%,transparent 33.4% 65.8%,rgba(255,115,236,.16) 66.2% 66.8%,transparent 66.8% 100%)!important;
  mix-blend-mode:screen!important;
  opacity:.9!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  z-index:2!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell:last-child {
  border-bottom:0!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  z-index:5!important;
  width:100%!important;
  height:110%!important;
}

/* v345: isolate the live reel viewport from the baked window in the cabinet
   PNG. This prevents the source frame's dark row seams from bleeding through. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  z-index:5!important;
  isolation:isolate!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  isolation:isolate!important;
  background-color:#250a37!important;
  background-clip:padding-box!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  opacity:.42!important;
  mix-blend-mode:screen!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.07) 0%,
      rgba(255,59,220,.04) 18%,
      rgba(56,10,76,.08) 50%,
      rgba(255,39,219,.06) 82%,
      rgba(0,0,0,.08) 100%)!important;
  border-bottom:1px solid rgba(255,112,232,.16)!important;
}
/* High-specificity companion rules keep the isolated reel surface winning
   over the older cabinet-reference layers that follow in this stylesheet. */
/* v346: the reference panel has two blue top gems. Crop them from the
   untouched HQ window asset for the idle layout; spin results remain live. */
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window[data-reel='0'] > .slots-cell[data-row='0'][data-symbol='blueStar'] .slots-cell__art--crystal,
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window[data-reel='1'] > .slots-cell[data-row='0'][data-symbol='blueStar'] .slots-cell__art--crystal {
  background-image:url('/assets/games/slots/reels-window-hq.png?v=1')!important;
  background-repeat:no-repeat!important;
  background-size:768% 595%!important;
  filter:drop-shadow(0 0 7px rgba(53,151,255,.66))!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window[data-reel='0'] > .slots-cell[data-row='0'][data-symbol='blueStar'] .slots-cell__art--crystal {
  background-position:17% 25%!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window[data-reel='1'] > .slots-cell[data-row='0'][data-symbol='blueStar'] .slots-cell__art--crystal {
  background-position:44% 25%!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window[data-reel='0'] > .slots-cell[data-row='0'][data-symbol='blueStar'] .slots-cell__art--crystal .slots-cell__asset,
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window[data-reel='1'] > .slots-cell[data-row='0'][data-symbol='blueStar'] .slots-cell__art--crystal .slots-cell__asset {
  opacity:0!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  z-index:5!important;
  isolation:isolate!important;
  background:transparent!important;
  gap:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  isolation:isolate!important;
  background:
    linear-gradient(90deg,
      #170521 0%,
      rgba(255,39,221,.42) 1.2%,
      rgba(148,35,163,.45) 3.5%,
      rgba(45,10,62,.88) 11%,
      rgba(107,31,126,.52) 28%,
      rgba(31,7,46,.94) 50%,
      rgba(107,31,126,.52) 72%,
      rgba(45,10,62,.88) 89%,
      rgba(148,35,163,.45) 96.5%,
      rgba(255,39,221,.42) 98.8%,
      #170521 100%),
    linear-gradient(180deg,#4a125c 0%,#2b0b3b 38%,#1b0628 68%,#350b48 100%)!important;
  background-color:#250a37!important;
  background-clip:padding-box!important;
  box-shadow:
    inset 0 0 20px rgba(255,39,221,.15),
    inset 14px 0 18px rgba(255,39,221,.1),
    inset -14px 0 18px rgba(118,40,255,.12)!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:block!important;
  inset:-3% -14%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 118% no-repeat!important;
  opacity:.42!important;
  mix-blend-mode:screen!important;
  filter:brightness(1.34) saturate(1.32) contrast(1.08)!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(255,44,224,.96) 0 1px,
      rgba(255,65,226,.34) 1px 5px,
      transparent 5px calc(100% - 5px),
      rgba(255,65,226,.34) calc(100% - 5px) calc(100% - 1px),
      rgba(255,44,224,.96) calc(100% - 1px) 100%),
    linear-gradient(180deg,
      transparent 0 32.4%,
      rgba(255,115,236,.2) 32.8% 33.4%,
      rgba(255,255,255,.055) 33.4% 34%,
      transparent 34% 65.8%,
      rgba(255,115,236,.2) 66.2% 66.8%,
      rgba(255,255,255,.055) 66.8% 67.4%,
      transparent 67.4% 100%)!important;
  mix-blend-mode:screen!important;
  opacity:.92!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.07) 0%,
      rgba(255,59,220,.04) 18%,
      rgba(56,10,76,.08) 50%,
      rgba(255,39,219,.06) 82%,
      rgba(0,0,0,.08) 100%)!important;
  border:0!important;
  border-bottom:1px solid rgba(255,112,232,.16)!important;
  box-shadow:none!important;
  z-index:1!important;
}
html.theme-engine-active #gameOverlay.show #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell:last-child {
  border-bottom:0!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:27%!important;
  right:10%!important;
  bottom:27%!important;
  left:10%!important;
  z-index:1!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,70,220,.12),transparent 38%),
    linear-gradient(180deg,#10051c 0%,#160620 50%,#09030f 100%)!important;
  box-shadow:inset 0 0 30px rgba(0,0,0,.72)!important;
  pointer-events:none!important;
}

html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  position:absolute!important;
  top:36.5%!important;
  right:22.8%!important;
  bottom:35.2%!important;
  left:22.8%!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:2px!important;
  padding:3px!important;
  border:0!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(8,3,18,.96),rgba(24,5,35,.94))!important;
  box-shadow:inset 0 0 20px rgba(242,59,215,.12),0 0 18px rgba(255,55,216,.2)!important;
  z-index:3!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::after {
  z-index:5!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  min-height:0!important;
  height:auto!important;
  border-inline:1px solid rgba(255,55,218,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 24% 76%,rgba(0,0,0,.18))!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:82%!important;
  height:82%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lights,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lever {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
  position:absolute!important;
  top:65.5%!important;
  right:9%!important;
  bottom:8.5%!important;
  left:9%!important;
  z-index:6!important;
  display:grid!important;
  align-content:start!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__stats { gap:4px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card {
  min-width:0!important;
  padding:6px 8px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.78)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card strong { font-size:clamp(11px,1.5vw,16px)!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls { grid-template-columns:minmax(0,1fr) 92px!important; gap:4px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-panel,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-panel {
  padding:6px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.82)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-box { gap:3px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-mini-btn,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-chip-btn {
  min-width:28px!important;
  min-height:28px!important;
  padding:0 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-button {
  min-height:58px!important;
  border-radius:11px!important;
  font-size:clamp(12px,2vw,18px)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-result-bar { min-height:14px!important; padding:2px 6px!important; border-radius:6px!important; font-size:9px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-note,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bonus-panel { display:none!important; }
@media (max-width:560px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap { width:calc(100% - 12px)!important; }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console { right:7%!important; left:7%!important; }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls { grid-template-columns:minmax(0,1fr) 78px!important; }
}

/* v296 — Slots keeps its bonus/paytable information and game utility toolbar
   in normal document flow. They sit after the cabinet instead of overlaying
   the reels or being clipped to the first viewport. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  padding-bottom:24px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo {
  order:1!important;
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-toolbar {
  order:2!important;
  display:flex!important;
  position:relative!important;
  align-self:center!important;
  width:min(1100px,calc(100% - 76px))!important;
  margin:18px auto 8px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-details {
  order:3!important;
  position:relative!important;
  align-self:center!important;
  margin:8px auto 28px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-layout {
  grid-template-columns:minmax(0,1fr)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-sidebar {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media (max-width:760px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-toolbar {
    width:calc(100% - 20px)!important;
    margin:16px auto 8px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-sidebar {
    grid-template-columns:1fr!important;
  }
}

/* v320-final: use the high-resolution 11.png frame as the only reel window. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:27%!important;
  right:10%!important;
  bottom:27%!important;
  left:10%!important;
  z-index:1!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,70,220,.12),transparent 38%),
    linear-gradient(180deg,#10051c 0%,#160620 50%,#09030f 100%)!important;
  box-shadow:inset 0 0 30px rgba(0,0,0,.72)!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:25.5%!important;
  right:10.5%!important;
  bottom:27.5%!important;
  left:10.5%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}

/* v320: replace the cabinet's baked-in reel artwork with the live asset window. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:27%!important;
  right:10%!important;
  bottom:27%!important;
  left:10%!important;
  z-index:1!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,70,220,.12),transparent 38%),
    linear-gradient(180deg,#10051c 0%,#160620 50%,#09030f 100%)!important;
  box-shadow:inset 0 0 30px rgba(0,0,0,.72)!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:25.5%!important;
  right:10.5%!important;
  bottom:27.5%!important;
  left:10.5%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}
/* __SLOTS_EOF_MARKER__ */

/* v314 — Final cascade for the playable cabinet. This block intentionally
   comes last so older global slot rules cannot pull the live reel window back
   into a separate frame. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-inline:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  position:relative!important;
  width:100%!important;
  max-width:620px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3 / 4!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:24px!important;
  background:#090511 url('/assets/games/slots/cabinet.webp?v=2') center / 100% 100% no-repeat!important;
  box-shadow:0 18px 54px rgba(4,1,12,.72),0 0 42px rgba(215,53,219,.22)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine::before {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__header {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:auto!important;
  z-index:2!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  position:absolute!important;
  top:36.5%!important;
  right:22.8%!important;
  bottom:35.2%!important;
  left:22.8%!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:2px!important;
  padding:3px!important;
  border:0!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(8,3,18,.96),rgba(24,5,35,.94))!important;
  box-shadow:inset 0 0 20px rgba(242,59,215,.12),0 0 18px rgba(255,55,216,.2)!important;
  z-index:3!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::after {
  z-index:5!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  min-height:0!important;
  height:auto!important;
  border-inline:1px solid rgba(255,55,218,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 24% 76%,rgba(0,0,0,.18))!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:82%!important;
  height:82%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lights,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lever {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
  position:absolute!important;
  top:65.5%!important;
  right:9%!important;
  bottom:8.5%!important;
  left:9%!important;
  z-index:6!important;
  display:grid!important;
  align-content:start!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__stats {
  gap:4px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card {
  min-width:0!important;
  padding:6px 8px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.78)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card strong {
  font-size:clamp(11px,1.5vw,16px)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls {
  grid-template-columns:minmax(0,1fr) 92px!important;
  gap:4px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-panel,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-panel {
  padding:6px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.82)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-box { gap:3px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-mini-btn,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-chip-btn {
  min-width:28px!important;
  min-height:28px!important;
  padding:0 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-button {
  min-height:58px!important;
  border-radius:11px!important;
  font-size:clamp(12px,2vw,18px)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-result-bar {
  min-height:14px!important;
  padding:2px 6px!important;
  border-radius:6px!important;
  font-size:9px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-note,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bonus-panel {
  display:none!important;
}
@media (max-width:560px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap { width:calc(100% - 12px)!important; }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console { right:7%!important; left:7%!important; }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls { grid-template-columns:minmax(0,1fr) 78px!important; }
}

/* v313 — Use the full cabinet render as the playable machine. The previous
   standalone reel frame is intentionally removed: live DOM symbols now sit
   inside the main window of cabinet.webp, while the console controls occupy
   the physical deck area. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-layout {
  display:block!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-inline:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  position:relative!important;
  width:100%!important;
  max-width:620px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3 / 4!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:24px!important;
  background:#090511 url('/assets/games/slots/cabinet.webp?v=2') center / 100% 100% no-repeat!important;
  box-shadow:0 18px 54px rgba(4,1,12,.72),0 0 42px rgba(215,53,219,.22)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine::before {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__header {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:auto!important;
  z-index:2!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  position:absolute!important;
  top:36.5%!important;
  right:22.8%!important;
  bottom:35.2%!important;
  left:22.8%!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:2px!important;
  padding:3px!important;
  border:0!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(8,3,18,.96),rgba(24,5,35,.94))!important;
  box-shadow:inset 0 0 20px rgba(242,59,215,.12),0 0 18px rgba(255,55,216,.2)!important;
  z-index:3!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::after {
  display:block!important;
  z-index:5!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  min-height:0!important;
  height:auto!important;
  border-inline:1px solid rgba(255,55,218,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 24% 76%,rgba(0,0,0,.18))!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:82%!important;
  height:82%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lights,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lever {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
  position:absolute!important;
  top:65.5%!important;
  right:9%!important;
  bottom:8.5%!important;
  left:9%!important;
  z-index:6!important;
  display:grid!important;
  align-content:start!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__stats {
  gap:4px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card {
  min-width:0!important;
  padding:6px 8px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.78)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.24)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card strong {
  font-size:clamp(11px,1.5vw,16px)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls {
  grid-template-columns:minmax(0,1fr) 92px!important;
  gap:4px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-panel,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-panel {
  padding:6px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.82)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-box {
  gap:3px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-mini-btn,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-chip-btn {
  min-width:28px!important;
  min-height:28px!important;
  padding:0 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-button {
  min-height:58px!important;
  border-radius:11px!important;
  font-size:clamp(12px,2vw,18px)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-result-bar {
  min-height:14px!important;
  padding:2px 6px!important;
  border-radius:6px!important;
  background:rgba(12,5,22,.72)!important;
  font-size:9px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-note,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bonus-panel {
  display:none!important;
}
@media (max-width:560px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
    width:calc(100% - 12px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
    right:7%!important;
    left:7%!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls {
    grid-template-columns:minmax(0,1fr) 78px!important;
  }
}

/* v297 — The slot's descriptive masthead is intentionally hidden so the
   cabinet starts immediately below the app header and the page stays compact. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-topbar {
  display:none!important;
}

/* v298 — Keep the cabinet compact enough that the controls remain reachable
   with a short downward scroll. Explicit reel rows prevent SVG intrinsic sizes
   from stretching the three-row window into an extra viewport. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  padding:12px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__header {
  gap:8px!important;
  margin-bottom:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__marquee {
  min-height:72px!important;
  border-radius:18px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__marquee span {
  font-size:18px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__marquee strong {
  font-size:24px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  padding:12px 12px 14px!important;
  border-radius:22px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels {
  gap:7px!important;
  padding:8px!important;
  border-radius:19px!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  height:clamp(320px, 42vw, 460px)!important;
  min-height:0!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  overflow:hidden!important;
  border-radius:22px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  min-height:0!important;
  min-width:0!important;
  overflow:hidden!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:70%!important;
  height:70%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
  gap:10px!important;
  margin-top:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card {
  padding:10px 12px!important;
  border-radius:15px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls {
  gap:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-panel,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-panel {
  padding:10px 12px!important;
  border-radius:17px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-box {
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:8px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-mini-btn {
  height:44px!important;
  min-height:44px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-input-wrap {
  height:44px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-actions {
  gap:8px!important;
  margin-top:8px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-chip-btn {
  min-height:38px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-button {
  border-radius:17px!important;
  font-size:21px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-result-bar {
  min-height:38px!important;
  padding:0 12px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-sidebar {
  gap:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bonus-meter,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-paytable {
  padding:12px!important;
  border-radius:17px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-paytable {
  gap:6px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-paytable > div {
  min-height:34px!important;
  padding:0 10px!important;
  border-radius:11px!important;
}
@media (max-width:760px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
    height:clamp(250px, 70vw, 330px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__stats,
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls {
    grid-template-columns:1fr!important;
  }
}

/* v299 — Leave the full SPIN target inside the first viewport. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  padding:10px 10px 12px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  height:clamp(300px, 34vw, 380px)!important;
}
@media (max-width:760px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
    height:clamp(250px, 70vw, 330px)!important;
  }
}

/* v301 — Keep SVG artwork inside each shortened reel cell instead of letting
   its intrinsic square size overflow and clip the symbols. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:74%!important;
  height:94%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art svg {
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
}

/* v306 — Shape the live DOM like the supplied physical cabinet: a 4:3 reel
   window, the supplied chrome/light frame, and the full cabinet silhouette
   behind the controls. The symbols remain real DOM assets and keep spinning. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo {
  width:100%!important;
  max-width:980px!important;
  margin-inline:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-layout {
  grid-template-columns:minmax(0, 820px)!important;
  justify-content:center!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
  width:100%!important;
  max-width:820px!important;
  margin-inline:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  aspect-ratio:4 / 3!important;
  min-height:0!important;
  height:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels {
  height:100%!important;
  min-height:0!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  height:100%!important;
  min-height:0!important;
}
/* Put the reference chrome on the live reel window itself. The reel columns
   sit above it, so the decorative symbols never replace a spin result. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::before {
  top:-13px!important;
  right:-13px!important;
  bottom:-13px!important;
  left:-13px!important;
  height:auto!important;
  z-index:2!important;
  background:url('/assets/games/slots/reels-frame.webp?v=2') center / 100% 100% no-repeat!important;
  opacity:.68!important;
  mix-blend-mode:screen;
}
/* The frame now lives on .slots-reels::before. Disable the older full-frame
   layer so its baked-in demo symbols cannot bleed through live results. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:none!important;
  content:none!important;
  background:none!important;
}

/* v308 — Match the symbol scale to the physical 3×3 window so artwork stays
   inside each reel and never crosses the chrome light rails. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:78%!important;
  height:78%!important;
}
@media (max-width:760px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
    width:82%!important;
    height:82%!important;
  }
}

/* v309 — Finalize the physical-machine feedback and keep the legacy full
   reference layer disabled after the newer cleaned frame is applied. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lever {
  transition:transform .2s ease,filter .2s ease!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine.is-spinning .slots-machine__lever {
  transform:rotate(12deg) translateY(5px)!important;
  filter:brightness(1.18)!important;
}

/* v310 — Fit the live 3×3 matrix into the inner opening of the supplied
   11.png frame. The light rails stay outside the symbols, like a physical
   cabinet window, while payline/reflection layers remain interactive DOM. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  position:relative!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:url('/assets/games/slots/reels-frame.webp?v=2') center / 100% 100% no-repeat!important;
  opacity:1!important;
  mix-blend-mode:screen;
  pointer-events:none;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  position:absolute!important;
  top:16%!important;
  right:13%!important;
  bottom:14%!important;
  left:13%!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  box-shadow:inset 0 0 24px rgba(8, 4, 18, .7)!important;
  z-index:1!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::before {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-machine__lights {
  position:absolute!important;
  right:0!important;
  bottom:1.5%!important;
  left:0!important;
  z-index:4!important;
  padding-top:0!important;
}

/* v311 — Keep the full-cabinet reflection present below the live window,
   while preventing its baked-in marquee from competing with the real one. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine::before {
  opacity:.12!important;
  -webkit-mask-image:linear-gradient(180deg,transparent 0 42%,#000 66%,#000 100%)!important;
  mask-image:linear-gradient(180deg,transparent 0 42%,#000 66%,#000 100%)!important;
}

/* v305 — Keep the supplied cabinet render visibly inside the live machine.
   The DOM reels/controls remain on top, so the render is a visual shell and
   never replaces the playable interface. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  position:relative!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:url('/assets/games/slots/cabinet.webp?v=1') center 10px / auto 100% no-repeat;
  opacity:.28;
  mix-blend-mode:screen;
  pointer-events:none;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine > * {
  position:relative;
  z-index:1;
}

/* v304 — The supplied reel render is a transparent chrome/light frame. Keep
   it behind the live 3×3 DOM grid so it adds the reference cabinet lighting
   without replacing the interactive symbols. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  isolation:isolate;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  background:url('/assets/games/slots/reels-frame.webp?v=1') center / 100% 100% no-repeat;
  opacity:.18;
  mix-blend-mode:screen;
  pointer-events:none;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  position:relative;
  z-index:1;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-machine__lights,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-machine__lever {
  z-index:2;
}

/* Final Plinko cleanup: suppress the board beacon and glow layers. */
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::before,
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::after,
html.theme-engine-active #gameArea > .plinko-game > .plinko-betting > .plinko-board::before,
html.theme-engine-active #gameArea > .plinko-game > .plinko-betting > .plinko-board::after {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
  animation:none!important;
}

/* Shared panels and controls. */
html.theme-engine-active #gameArea :is(.roulette-betting,.roulette-bet-frame,.roulette-colors-frame,.roulette-board,.crash-bet-panel,.crash-social,.instant-controls,.jackpot-stat,.pvp-create,.pvp-list-wrap,.pvp-bj-table,.bj-solo-table,.arcade-board,.arcade-controls,.arcade-hold-stats) {
  border-color:rgba(196,181,253,.2)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(40,31,57,.78),rgba(24,20,35,.9))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 8px 18px rgba(5,4,12,.14)!important;
}
html.theme-engine-active #gameArea :is(input,select,textarea):not([type="range"]) {
  min-height:40px;
  border:1px solid rgba(196,181,253,.24)!important;
  border-radius:9px!important;
  background:#191624!important;
  color:#f8f7fb!important;
  caret-color:#f0a8ff;
  transition:border-color 160ms ease,box-shadow 160ms ease,background 160ms ease!important;
}
html.theme-engine-active #gameArea :is(input,select,textarea):not([type="range"]):focus {
  border-color:rgba(217,70,239,.72)!important;
  background:#211a30!important;
  box-shadow:0 0 0 3px rgba(217,70,239,.13)!important;
  outline:0;
}
html.theme-engine-active #gameArea button {
  font-family:'Fredoka',sans-serif;
  transition:transform 160ms ease,filter 160ms ease,background 160ms ease,border-color 160ms ease,box-shadow 160ms ease!important;
}
html.theme-engine-active #gameArea button:focus-visible {
  outline:2px solid #f0a8ff!important;
  outline-offset:2px;
}
html.theme-engine-active #gameArea button:not(:disabled):hover {
  filter:brightness(1.06);
  transform:translateY(-1px);
}
html.theme-engine-active #gameArea button:not(:disabled):active { transform:translateY(0) scale(.975); }
html.theme-engine-active #gameArea :is(.roulette-spin,.pvp-create-btn,.c-main-btn,.cp-spin-btn,.instant-action,.arcade-action,.arcade-cashout,.arcade-hold-button) {
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#8b5cf6,#d946ef)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(139,92,246,.25),inset 0 1px rgba(255,255,255,.22)!important;
}
html.theme-engine-active #gameArea :is(.cp-spin-btn-multi,.arcade-cashout) {
  background:linear-gradient(135deg,#f7c948,#f0a51a)!important;
  color:#271a2a!important;
  box-shadow:0 10px 22px rgba(247,201,72,.16),inset 0 1px rgba(255,255,255,.25)!important;
}

/* Card palettes carried into the corresponding game. */
html.theme-engine-active #gameArea[data-game-skin="cases"] { --starqc-game-accent:#d946ef;--starqc-game-accent-2:#8b5cf6; }
html.theme-engine-active #gameArea[data-game-skin="roulette"] { --starqc-game-accent:#d94b61;--starqc-game-accent-2:#43b881; }
html.theme-engine-active #gameArea[data-game-skin="plinko"] { --starqc-game-accent:#38bdf8;--starqc-game-accent-2:#8b5cf6; }
html.theme-engine-active #gameArea[data-game-skin="jackpot"] { --starqc-game-accent:#f0a51a;--starqc-game-accent-2:#d946ef; }
html.theme-engine-active #gameArea[data-game-skin="mines"] { --starqc-game-accent:#2dd4bf;--starqc-game-accent-2:#38bdf8; }
html.theme-engine-active #gameArea[data-game-skin="blackjack"] { --starqc-game-accent:#f7c948;--starqc-game-accent-2:#d946ef; }
html.theme-engine-active #gameArea[data-game-skin="crash"] { --starqc-game-accent:#38bdf8;--starqc-game-accent-2:#f05a78; }
html.theme-engine-active #gameArea[data-game-skin="rps"] { --starqc-game-accent:#a855f7;--starqc-game-accent-2:#d946ef; }
html.theme-engine-active #gameArea[data-game-skin="dice"] { --starqc-game-accent:#35d39a;--starqc-game-accent-2:#38bdf8; }
html.theme-engine-active #gameArea[data-game-skin="coin"] { --starqc-game-accent:#f7c948;--starqc-game-accent-2:#f59e0b; }
html.theme-engine-active #gameArea[data-game-skin="drillTarget"],
html.theme-engine-active #gameArea[data-game-skin="boreHold"] { --starqc-game-accent:#f7c948;--starqc-game-accent-2:#a855f7; }

/* Roulette and Plinko use one branded betting surface, while preserving the
   red/black/green semantic colors of the controls. */
html.theme-engine-active #gameArea .roulette-bet-frame,
html.theme-engine-active #gameArea .roulette-colors-frame { padding:10px!important; }
html.theme-engine-active #gameArea .roulette-adjust button {
  border-color:rgba(196,181,253,.28)!important;
  border-radius:7px!important;
  background:rgba(168,85,247,.08)!important;
  color:#e9d5ff!important;
}
html.theme-engine-active #gameArea .roulette-color { border-radius:9px!important; }
html.theme-engine-active #gameArea .roulette-color.active { outline:2px solid #f0a8ff!important;outline-offset:2px; }
html.theme-engine-active #gameArea .plinko-board {
  border:1px solid rgba(56,189,248,.34)!important;
  border-radius:14px!important;
  background:radial-gradient(circle at 50% 0,rgba(56,189,248,.12),transparent 46%),#151321!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 10px 24px rgba(5,4,12,.24)!important;
}
html.theme-engine-active #gameArea .plinko-slots .plinko-slot {
  border-color:rgba(56,189,248,.34)!important;
  background:linear-gradient(180deg,rgba(56,189,248,.24),rgba(39,29,64,.88))!important;
}

/* Cases: keep the supplied reel art but give its controls the catalogue
   rhythm and a clear result state. */
html.theme-engine-active #gameArea .cp-case-head,
html.theme-engine-active #gameArea .cp-reel-wrap { border-color:rgba(217,70,239,.42)!important; }
html.theme-engine-active #gameArea .cp-reel-wrap {
  background:linear-gradient(145deg,#21172f,#151321)!important;
  box-shadow:inset 0 0 0 2px rgba(168,85,247,.08),0 12px 26px rgba(5,4,12,.24)!important;
}
html.theme-engine-active #gameArea .cp-reel-cell { border-radius:9px!important; }
/* Make the branded reward stars in Cases a little easier to read without
   changing the reel cells or their reward numbers. */
html.theme-engine-active #gameArea .cp-reel-cell .cp-label .tg-s {
  width:27px!important;
  height:27px!important;
}
html.theme-engine-active #gameArea .cp-reel-wrap:not(.multi) .cp-reel-cell {
  gap:6px!important;
  border-radius:13px!important;
}
html.theme-engine-active #gameArea .cp-reel-wrap:not(.multi) .cp-reel-cell .cp-val {
  font-size:23px!important;
}
html.theme-engine-active #gameArea .cp-reel-wrap:not(.multi) .cp-reel-cell .cp-label {
  min-height:17px!important;
  font-size:9px!important;
}
html.theme-engine-active #gameArea .cp-reel-wrap:not(.multi) .cp-reel-cell .cp-label .tg-s {
  transform:translateY(2px);
}
html.theme-engine-active #gameArea .cp-reel-wrap:not(.multi) .cp-reel-cell::before {
  height:4px!important;
}
html.theme-engine-active #gameArea .cp-reel-wrap.multi .cp-reel-cell .cp-label .tg-s {
  width:18px!important;
  height:18px!important;
}
html.theme-engine-active #gameArea .cp-result.show { animation:starqcResultPop 380ms var(--starqc-ease-spring) both; }

/* High-signal game states. */
html.theme-engine-active #gameArea .pvp-mines-grid {
  padding:12px;
  border:1px solid rgba(45,212,191,.24);
  border-radius:14px;
  background:radial-gradient(circle at 50% 0,rgba(45,212,191,.1),transparent 62%),rgba(16,23,31,.62);
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 10px 22px rgba(5,4,12,.18);
}
html.theme-engine-active #gameArea .pvp-mine-cell {
  border-color:rgba(45,212,191,.28)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#243247,#171b2b)!important;
  transition:transform 170ms ease,border-color 170ms ease,background 170ms ease,box-shadow 170ms ease!important;
}
html.theme-engine-active #gameArea .pvp-mine-cell:hover:not(.diamond):not(.bomb):not(.safe) {
  transform:translateY(-2px);
  border-color:rgba(45,212,191,.7)!important;
  box-shadow:0 7px 14px rgba(45,212,191,.12)!important;
}
html.theme-engine-active #gameArea .pvp-mine-cell.diamond { animation:starqcMineReveal 340ms var(--starqc-ease-spring) both; }
html.theme-engine-active #gameArea .pvp-mine-cell.bomb { animation:starqcMineReveal 260ms ease-out both; }
html.theme-engine-active #gameArea .bj-solo-table { border-color:rgba(217,70,239,.28)!important; }
html.theme-engine-active #gameArea .pvp-bj-hand .bjc { animation:starqcCardDeal 300ms var(--starqc-ease-spring) both; }
html.theme-engine-active #gameArea .crash-graph-area { border:1px solid rgba(56,189,248,.18);border-radius:14px;background:linear-gradient(180deg,rgba(56,189,248,.05),rgba(15,13,25,.74));box-shadow:inset 0 1px rgba(255,255,255,.03); }
html.theme-engine-active #gameArea .c-mult { text-shadow:0 0 26px color-mix(in srgb,var(--starqc-game-accent) 44%,transparent);animation:starqcMultiplierPulse 2.8s ease-in-out infinite; }
html.theme-engine-active #gameArea .jackpot-stat strong { color:#fff; }
html.theme-engine-active #gameArea .jackpot-wheel-shell { border-radius:16px; }
html.theme-engine-active #gameArea .jackpot-wheel.is-settled { animation:starqcResultPop 420ms var(--starqc-ease-spring) both; }

@keyframes starqcResultPop {
  0% { opacity:.55;transform:scale(.96); }
  65% { opacity:1;transform:scale(1.02); }
  100% { opacity:1;transform:scale(1); }
}
@keyframes starqcMineReveal {
  0% { opacity:.55;transform:scale(.84) rotate(-2deg); }
  70% { opacity:1;transform:scale(1.06) rotate(1deg); }
  100% { opacity:1;transform:scale(1) rotate(0); }
}
@keyframes starqcCardDeal {
  from { opacity:0;transform:translateY(8px) rotate(-3deg); }
  to { opacity:1;transform:none; }
}
@keyframes starqcMultiplierPulse {
  0%,100% { filter:brightness(1); }
  50% { filter:brightness(1.12); }
}

@media (max-width:899px) {
  html.theme-engine-active #gameArea > :is(.cases-screen,.roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.game-preview,.game-lobby,.arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen) { border-radius:12px!important; }
  html.theme-engine-active #gameArea .pvp-mines-grid { padding:8px; }
}

/* Keep the same playable frame on every desktop game.  The game area has a
   shared 22px stage inset; extending each actual game root by that inset
   gives Cases, casino games, PvP screens and Arcade games the same full-stage
   top/side alignment.  Case-specific reel padding stays in the override below. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .cases-screen,.roulette-game,.plinko-game,.jackpot-game,.crash-game,
    .mines-solo,.bj-solo,.arcade-game,
    .rps-screen-container,.pvp-dice-screen,.pvp-coin-screen
  ) {
    width:calc(100% + 44px)!important;
    max-width:none!important;
    margin-top:-18px!important;
    margin-left:-22px!important;
    margin-right:-22px!important;
  }
}

/* PvP lobbies render two children (identity + room list) instead of one
   game root. Give that pair the same wide, top-aligned frame as every
   single-root game while keeping the two-column composition readable. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) {
    display:grid!important;
    grid-template-columns:minmax(260px,.7fr) minmax(480px,1.3fr)!important;
    gap:22px!important;
    align-items:stretch!important;
    box-sizing:border-box!important;
    width:min(1200px,calc(100% - 48px))!important;
    max-width:1200px!important;
    margin-top:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-top:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .game-preview,
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .game-lobby {
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .starqc-game-details {
    grid-column:1/-1;
    width:min(860px,100%)!important;
    margin:22px auto 8px!important;
  }
}

/* Let the Cases play frame use the whole desktop stage instead of leaving a
   light-plum gutter around it.  The explanatory details card stays separate. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) {
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen {
    width:calc(100% + 44px)!important;
    max-width:none!important;
    margin-top:-18px!important;
    margin-left:-22px!important;
    margin-right:-22px!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen .cp-case {
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
  }
}

@media (prefers-reduced-motion:reduce) {
  html.theme-engine-active #gameArea .c-mult,
  html.theme-engine-active #gameArea .pvp-mine-cell.diamond,
  html.theme-engine-active #gameArea .pvp-mine-cell.bomb,
  html.theme-engine-active #gameArea .pvp-bj-hand .bjc,
  html.theme-engine-active #gameArea .jackpot-wheel.is-settled,
  html.theme-engine-active #gameArea .cp-result.show { animation:none!important; }
}

/* --------------------------------------------------------------------------
   STARQC GAME PASS — all non-case games
   Cases intentionally stay on their existing reel design.  The rest of the
   catalogue gets one visual system: a thin game-colour edge, clearer play
   surfaces, predictable control rhythm, and motion that signals state.
---------------------------------------------------------------------------- */
html.theme-engine-active #gameArea > :is(
  .roulette-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.arcade-game,
  .rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,.game-preview,.game-lobby
):not(.cases-screen) {
  border-color:color-mix(in srgb,var(--game-accent,#a855f7) 42%,var(--starqc-game-line))!important;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--game-accent,#a855f7) 8%,#241d35),#12101c 78%)!important;
  box-shadow:0 20px 48px rgba(5,4,12,.28),inset 0 1px rgba(255,255,255,.045)!important;
}
html.theme-engine-active #gameArea > :is(
  .roulette-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.arcade-game,
  .rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,.game-preview,.game-lobby
):not(.cases-screen)::after {
  content:'';
  position:absolute;
  inset:0 12% auto;
  height:2px;
  border-radius:999px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--game-accent,#a855f7),var(--game-accent-2,#d946ef),transparent);
  opacity:.82;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--game-accent,#a855f7) 55%,transparent));
}
html.theme-engine-active #gameArea > :is(
  .roulette-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.arcade-game,
  .rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,.game-preview,.game-lobby
):not(.cases-screen) :is(.roulette-masthead,.crash-header,.arcade-hero) {
  border-color:color-mix(in srgb,var(--game-accent,#a855f7) 28%,rgba(196,181,253,.18))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--game-accent,#a855f7) 9%,#292039),rgba(23,19,34,.88))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.06),0 10px 24px rgba(5,4,12,.16)!important;
}
html.theme-engine-active #gameArea > :is(.roulette-game,.plinko-game):not(.cases-screen) .roulette-masthead {
  padding:14px 16px!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameArea > .crash-game:not(.cases-screen) .crash-header {
  padding:12px 16px!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameArea > .arcade-game:not(.cases-screen) .arcade-hero {
  border-radius:14px!important;
}

/* Shared betting rhythm. */
html.theme-engine-active #gameArea > :not(.cases-screen) :is(.roulette-bankline,.c-bet-label,.c-auto-label,.pvc-label) {
  color:rgba(241,235,255,.62)!important;
  font:800 10px/1.2 'Fredoka',sans-serif!important;
  letter-spacing:.9px;
}
html.theme-engine-active #gameArea > :not(.cases-screen) .roulette-bet-row {
  min-height:42px;
  border-radius:10px!important;
  background:rgba(11,9,20,.42)!important;
  border:1px solid rgba(196,181,253,.12)!important;
}
html.theme-engine-active #gameArea > :not(.cases-screen) .roulette-adjust {
  gap:6px!important;
  margin-top:8px!important;
}
html.theme-engine-active #gameArea > :not(.cases-screen) .roulette-adjust button {
  min-height:30px;
  padding:5px 9px!important;
  border:1px solid rgba(196,181,253,.2)!important;
  border-radius:7px!important;
  background:rgba(168,85,247,.1)!important;
  color:#e9d5ff!important;
}
html.theme-engine-active #gameArea > :not(.cases-screen) :is(.roulette-spin,.c-main-btn,.instant-action,.pvp-dice-btn,.pvp-create-btn) {
  min-height:46px;
  letter-spacing:.55px;
  background:linear-gradient(135deg,var(--game-accent,#8b5cf6),var(--game-accent-2,#d946ef))!important;
}
html.theme-engine-active #gameArea > :not(.cases-screen) :is(.roulette-spin,.c-main-btn,.instant-action,.pvp-dice-btn,.pvp-create-btn):disabled {
  filter:grayscale(.55);opacity:.48;box-shadow:none!important;
}

/* Roulette: readable colour columns with a clear active state. */
html.theme-engine-active #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame {
  padding:12px!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:14px!important;
  background:rgba(11,9,20,.28)!important;
}
html.theme-engine-active #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns { gap:10px!important; }
html.theme-engine-active #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
  padding:8px!important;
  border:1px solid rgba(196,181,253,.12)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.025)!important;
  transition:transform 160ms ease,border-color 160ms ease,background 160ms ease!important;
}
html.theme-engine-active #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column:has(.roulette-color.active) {
  border-color:color-mix(in srgb,var(--game-accent,#a855f7) 55%,rgba(196,181,253,.2))!important;
  background:color-mix(in srgb,var(--game-accent,#a855f7) 8%,rgba(255,255,255,.025))!important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--game-accent,#a855f7) 12%,transparent)!important;
}
html.theme-engine-active #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-color {
  min-height:54px!important;
  border-radius:9px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 7px 14px rgba(0,0,0,.15)!important;
}
html.theme-engine-active #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-color.active { transform:translateY(-2px); }

/* Plinko: the board and payout slots read as one physical machine. */
html.theme-engine-active #gameArea > .plinko-game:not(.cases-screen) .plinko-betting { gap:14px!important; }
html.theme-engine-active #gameArea > .plinko-game:not(.cases-screen) .plinko-slots { gap:5px!important; padding:6px!important; }
html.theme-engine-active #gameArea > .plinko-game:not(.cases-screen) .plinko-slots .plinko-slot {
  min-height:34px;
  border-radius:7px!important;
  font-size:10px!important;
  transition:transform 160ms ease,filter 160ms ease,box-shadow 160ms ease!important;
}
html.theme-engine-active #gameArea > .plinko-game:not(.cases-screen) .plinko-slots .plinko-slot.hit {
  filter:brightness(1.35);transform:translateY(-3px) scale(1.04);box-shadow:0 0 18px rgba(56,189,248,.38)!important;
}

/* Jackpot: elevate the wheel while keeping stats and player list calm. */
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-showdown {
  border:1px solid rgba(240,165,26,.22)!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,rgba(67,37,49,.45),rgba(24,18,35,.68))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 12px 28px rgba(5,4,12,.18)!important;
}
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-stat {
  border-color:rgba(240,165,26,.2)!important;
  background:rgba(255,255,255,.035)!important;
}
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-wheel-shell {
  border-color:rgba(240,165,26,.42)!important;
  box-shadow:0 0 0 5px rgba(240,165,26,.05),0 18px 34px rgba(5,4,12,.3),0 0 34px rgba(217,70,239,.14)!important;
}
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-result {
  min-height:42px;
  border-radius:10px!important;
  background:rgba(240,165,26,.09)!important;
  color:#ffe7a0!important;
}

/* Crash: make the multiplier, graph and participants feel like one live panel. */
html.theme-engine-active #gameArea > .crash-game:not(.cases-screen) .crash-mult-area {
  border:1px solid rgba(56,189,248,.18)!important;
  border-radius:14px!important;
  background:radial-gradient(circle at 50% 35%,rgba(56,189,248,.13),transparent 58%),rgba(15,13,25,.56)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04)!important;
}
html.theme-engine-active #gameArea > .crash-game:not(.cases-screen) .crash-history-bar,
html.theme-engine-active #gameArea > .crash-game:not(.cases-screen) .crash-social,
html.theme-engine-active #gameArea > .crash-game:not(.cases-screen) .crash-fair-badge {
  border-color:rgba(56,189,248,.18)!important;
  background:rgba(16,20,34,.7)!important;
}
html.theme-engine-active #gameArea > .crash-game:not(.cases-screen) .crash-history-bar { border-radius:10px!important; }

/* Mines and blackjack: use the available width, instead of fixed desktop
   cells, while retaining the compact mobile layout. */
html.theme-engine-active #gameArea > .mines-solo:not(.cases-screen) .pvp-mines-grid {
  width:min(680px,100%)!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  padding:14px!important;
}
html.theme-engine-active #gameArea > .mines-solo:not(.cases-screen) .pvp-mine-cell {
  width:100%!important;height:auto!important;min-height:56px;aspect-ratio:1!important;
  font-size:24px!important;
}
html.theme-engine-active #gameArea > .mines-solo:not(.cases-screen) :is(#minesStatus,#minesActions) { width:min(680px,100%); }
html.theme-engine-active #gameArea > .bj-solo:not(.cases-screen) .bj-solo-table {
  width:min(820px,100%)!important;
  padding:18px!important;
  border-radius:14px!important;
  background:radial-gradient(circle at 50% 0,rgba(247,201,72,.1),transparent 62%),rgba(15,13,25,.72)!important;
}
html.theme-engine-active #gameArea > .bj-solo:not(.cases-screen) .bj-row {
  padding:12px 14px!important;
  border:1px solid rgba(247,201,72,.16)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.025)!important;
}
html.theme-engine-active #gameArea > .bj-solo:not(.cases-screen) .bj-hand { gap:6px!important; }

/* PvP and arcade screens use the same stage language without changing the
   game rules or the cases screen. */
html.theme-engine-active #gameArea > :is(.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen):not(.cases-screen) {
  width:min(760px,100%)!important;
  padding:22px!important;
}
html.theme-engine-active #gameArea > :is(.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen):not(.cases-screen) :is(.rps-choice-card,.pvp-dice-box,.pvp-coin-btn) {
  border-color:color-mix(in srgb,var(--game-accent,#a855f7) 32%,rgba(196,181,253,.18))!important;
  box-shadow:0 10px 22px rgba(5,4,12,.18)!important;
}
html.theme-engine-active #gameArea > .arcade-game:not(.cases-screen) {
  max-width:760px!important;
}
html.theme-engine-active #gameArea > .arcade-game:not(.cases-screen) .arcade-board {
  border-color:color-mix(in srgb,var(--game-accent,#f7c948) 26%,rgba(196,181,253,.18))!important;
  background:linear-gradient(145deg,rgba(28,22,48,.96),rgba(13,12,23,.98))!important;
}
html.theme-engine-active #gameArea > .arcade-game:not(.cases-screen) :is(.arcade-message,.arcade-note) {
  border-left:2px solid var(--game-accent,#f7c948);
  padding-left:10px;
}

@media (max-width:899px) {
  html.theme-engine-active #gameArea > :is(.roulette-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,.arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,.game-preview,.game-lobby):not(.cases-screen) {
    box-shadow:0 12px 28px rgba(5,4,12,.22),inset 0 1px rgba(255,255,255,.04)!important;
  }
  html.theme-engine-active #gameArea > .mines-solo:not(.cases-screen) .pvp-mines-grid { width:100%!important;gap:6px!important;padding:8px!important; }
  html.theme-engine-active #gameArea > .mines-solo:not(.cases-screen) .pvp-mine-cell { min-height:0;font-size:19px!important; }
  html.theme-engine-active #gameArea > .bj-solo:not(.cases-screen) .bj-solo-table { padding:10px!important; }
  html.theme-engine-active #gameArea > :is(.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen):not(.cases-screen) { padding:14px!important; }
}

@media (prefers-reduced-motion:reduce) {
  html.theme-engine-active #gameArea > :not(.cases-screen) :is(.roulette-column,.roulette-color,.plinko-slot,.pvp-mine-cell,.pvp-coin-btn,.rps-choice-card) { transition:none!important; }
}

/* Roulette desktop composition: keep the stake controls in normal flow.
   The legacy overlay used absolute positioning for the bet frame, which made
   the bank, colour columns, and action button overlap at wider sizes. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) {
    display:grid!important;
    grid-template-areas:"mast" "bet" "preview" "spin" "footer"!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto!important;
    gap:14px!important;
    align-content:start!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-height:100%!important;
    height:auto!important;
    margin:0!important;
    padding:18px 28px 26px!important;
    overflow:auto!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) > .roulette-masthead {
    grid-area:mast!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) > .roulette-betting {
    grid-area:bet!important;
    position:static!important;
    display:grid!important;
    grid-template-columns:minmax(260px,320px) minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    gap:14px!important;
    align-items:stretch!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:16px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.18)!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,rgba(43,33,61,.92),rgba(20,17,30,.96))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.05),0 14px 28px rgba(5,4,12,.2)!important;
    transform:none!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) .roulette-bet-frame {
    grid-column:1!important;
    grid-row:1 / span 2!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) .roulette-colors-frame {
    grid-column:2!important;
    grid-row:1 / span 2!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) .roulette-columns {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) .roulette-column {
    min-width:0!important;
    min-height:170px!important;
    height:100%!important;
    padding:8px!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) > .roulette-preview {
    grid-area:preview!important;
    width:min(1100px,100%)!important;
    margin:0 auto!important;
    padding:8px 12px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.12)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.025)!important;
    text-align:center!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) > .roulette-spin {
    grid-area:spin!important;
    position:static!important;
    width:min(360px,100%)!important;
    max-width:360px!important;
    min-height:48px!important;
    margin:0 auto!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game) > .roulette-footer {
    grid-area:footer!important;
    position:static!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
  }

  /* Keep the 5×5 Mines board compact enough for its controls and result
     state to remain in the same playable frame. */
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) {
    min-height:800px!important;
    height:auto!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) .pvp-mines-grid {
    width:min(520px,100%)!important;
    max-width:520px!important;
    gap:8px!important;
    padding:12px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) .pvp-mine-cell {
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) > .roulette-board,
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) > #minesActions,
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) > #minesStatus {
    width:min(520px,100%)!important;
    max-width:520px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .bj-solo:not(.cases-screen) > .roulette-board,
  html.theme-engine-active #gameOverlay .game-area > .bj-solo:not(.cases-screen) > #bjActions,
  html.theme-engine-active #gameOverlay .game-area > .bj-solo:not(.cases-screen) > #bjStatus {
    width:min(720px,100%)!important;
    max-width:720px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Desktop viewport fit: the playable surface owns the screen.  Descriptions
   stay reachable through the rules control, while the active game itself no
   longer creates a second horizontal or vertical scroll area. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) {
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details {
    display:block!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
    .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen
  ):not(.cases-screen) {
    box-sizing:border-box!important;
    min-width:0!important;
    min-height:0!important;
    width:100%!important;
    max-width:none!important;
    margin-top:0!important;
    margin-left:0!important;
    margin-right:0!important;
    height:auto!important;
    max-height:none!important;
    flex:0 0 auto!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game.jackpot-game:not(.cases-screen) {
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) {
    grid-template-rows:minmax(0,1fr)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > :is(.game-preview,.game-lobby) {
    box-sizing:border-box!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
  }
}

/* Compact desktop dimensions for the dense games.  These values keep the
   controls usable while bringing every playable surface inside one viewport. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) {
    padding:10px 12px 10px!important;
  }

  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) {
    --mines-grid-size:clamp(320px,calc(100vh - 505px),520px);
    gap:8px!important;
    padding:8px 16px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) .pvp-mines-grid {
    width:min(var(--mines-grid-size),100%)!important;
    height:auto!important;
    aspect-ratio:1!important;
    padding:8px!important;
    gap:6px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) :is(.roulette-board,#minesActions,#minesStatus) {
    width:min(var(--mines-grid-size),100%)!important;
    max-width:100%!important;
  }

  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) {
    gap:6px!important;
    padding:10px 12px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-header {
    min-height:46px!important;
    height:46px!important;
    padding:8px 12px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-mult-area {
    min-height:60px!important;
    height:60px!important;
    padding:0 12px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-mult-area .c-mult {
    font-size:50px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-graph-area {
    height:150px!important;
    min-height:0!important;
    margin:0 8px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-graph-area canvas {
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-history-bar {
    height:36px!important;
    min-height:36px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-bet-panel {
    min-height:0!important;
    height:auto!important;
    padding:0 8px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-bet-panel .roulette-board {
    height:54px!important;
    min-height:46px!important;
    padding:5px 8px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-bet-panel :is(input,.roulette-adjust button) {
    min-height:32px!important;
    height:32px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .c-auto-row {
    margin:4px 0 6px!important;
    min-height:32px!important;
    height:32px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .c-action-row,
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .c-action-row button {
    min-height:40px!important;
    height:40px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-social {
    height:22px!important;
    min-height:22px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .crash-game:not(.cases-screen) .crash-fair-badge {
    height:20px!important;
    min-height:20px!important;
  }

  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-summary {
    height:46px!important;
    min-height:0!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-wheel-shell {
    height:clamp(210px,calc(100vh - 635px),306px)!important;
    min-height:0!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-wheel {
    width:clamp(210px,calc(100vh - 635px),292px)!important;
    height:clamp(210px,calc(100vh - 635px),292px)!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-result {
    height:36px!important;
    min-height:0!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-controls .roulette-board {
    height:54px!important;
    min-height:46px!important;
    padding:5px 8px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-controls .instant-action {
    min-height:40px!important;
    height:40px!important;
  }

  html.theme-engine-active #gameOverlay .game-area > .plinko-game:not(.cases-screen) .plinko-betting {
    min-height:0!important;
    padding:10px!important;
    gap:10px 14px!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .plinko-game:not(.cases-screen) .plinko-board {
    height:clamp(300px,calc(100vh - 520px),560px)!important;
    min-height:0!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .plinko-game:not(.cases-screen) #plinkoCanvas {
    height:calc(100% - 42px)!important;
    min-height:0!important;
  }

  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) {
    gap:7px!important;
    padding:8px 12px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hero {
    min-height:86px!important;
    height:86px!important;
    padding:12px 16px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hold-stage {
    flex:0 0 auto!important;
    gap:7px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hold-scene {
    height:clamp(240px,calc(100vh - 577px),390px)!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hold-stats {
    min-height:48px!important;
    height:48px!important;
    gap:6px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hold-stats > div {
    padding:6px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-bore-controls {
    flex:0 0 auto!important;
    height:auto!important;
    min-height:0!important;
    padding:6px!important;
    gap:5px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-bore-controls .roulette-board {
    height:46px!important;
    min-height:42px!important;
    padding:3px 6px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-bore-controls input,
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-bore-controls .roulette-adjust button {
    min-height:30px!important;
    height:30px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .mine-sound-toggle {
    height:20px!important;
    min-height:20px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hold-button {
    height:40px!important;
    min-height:40px!important;
  }
}

/* Short desktop windows (for example 1366×768) get one more compact step. */
@media (min-width:900px) and (max-height:800px) {
  html.theme-engine-active #gameOverlay .game-header {
    min-height:54px!important;
    height:54px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) {
    padding:6px 10px 6px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) {
    gap:8px!important;
    padding:10px 18px 14px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    height:clamp(150px,calc(100vh - 618px),230px)!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    gap:8px!important;
    padding:10px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    min-height:120px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-spin {
    min-height:40px!important;
    height:40px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-footer {
    min-height:16px!important;
    height:16px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-history {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }

  html.theme-engine-active #gameOverlay .game-area > .mines-solo:not(.cases-screen) {
    --mines-grid-size:clamp(260px,calc(100vh - 500px),350px);
  }
  html.theme-engine-active #gameOverlay .game-area > .plinko-game:not(.cases-screen) .plinko-board {
    height:clamp(260px,calc(100vh - 520px),335px)!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-wheel-shell {
    height:clamp(180px,calc(100vh - 600px),220px)!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .jackpot-game:not(.cases-screen) .jackpot-wheel {
    width:clamp(180px,calc(100vh - 600px),220px)!important;
    height:clamp(180px,calc(100vh - 600px),220px)!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hero {
    min-height:72px!important;
    height:72px!important;
    padding:8px 12px!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .arcade-hold-game:not(.cases-screen) .arcade-hold-scene {
    height:clamp(200px,calc(100vh - 570px),278px)!important;
  }
}

@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) {
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  /* The large coloured shell belongs to the page, not to each playable
     surface.  Keep the actual betting/control panels framed, but remove the
     duplicate outer game frame on every non-case game. */
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
    .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
    .game-preview,.game-lobby
  ):not(.cases-screen) {
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
    .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
    .game-preview,.game-lobby
  ):not(.cases-screen)::before,
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
    .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
    .game-preview,.game-lobby
  ):not(.cases-screen)::after {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay .game-area > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-history {
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* Cases keep their own reel composition.  Keep the case frame, but do not
   apply the shared full-stage negative offset used by other games. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen {
    box-sizing:border-box!important;
    position:relative!important;
    isolation:isolate!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0 0 30px!important;
    border:1px solid var(--game-line,rgba(196,181,253,.18))!important;
    border-radius:16px!important;
    background:linear-gradient(145deg,rgba(36,29,53,.96),rgba(18,16,27,.98))!important;
    box-shadow:0 18px 42px rgba(5,4,12,.24),inset 0 1px rgba(255,255,255,.035)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen::before,
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen::after {
    display:block!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen > .cp-case {
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
}

/* Let the whole game page grow naturally.  A fixed-height gameArea creates a
   nested scroll container and clips the rules card after the playable game;
   the overlay itself is the single vertical scroll surface instead. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay {
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea {
    flex:0 0 auto!important;
    height:max-content!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)),
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) {
    height:max-content!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) {
    grid-template-rows:auto auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > :is(.game-preview,.game-lobby) {
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }
}

/* Dice page — a STARQC take on the compact Originals layout from the
   reference: controls, utility bar, playable lobby, then a full-width info
   card.  The existing PvP/socket controls stay inside the play slot. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .dice-stake-shell) {
    display:block!important;
    min-height:0!important;
    padding:0 22px 34px!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .dice-stake-shell) > .dice-stake-shell {
    width:100%!important;
    max-width:1200px!important;
    margin:0 auto!important;
  }
  .dice-stake-shell { color:#eff1f8; font-family:'Fredoka',sans-serif; }
  .dice-stake-bet-panel {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    padding:18px 16px;
    border:1px solid rgba(167,139,250,.22);
    border-radius:14px 14px 0 0;
    background:linear-gradient(135deg,rgba(34,42,57,.98),rgba(26,25,42,.98));
    box-shadow:inset 0 1px rgba(255,255,255,.035),0 12px 28px rgba(8,6,19,.18);
  }
  .dice-stake-field { min-width:0; }
  .dice-stake-field>span { display:block;margin:0 0 6px 1px;color:#b9c8e2;font-size:11px;font-weight:700;letter-spacing:.25px; }
  .dice-stake-field>div { height:42px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(130,177,222,.38);border-radius:8px;background:rgba(20,27,38,.58);box-shadow:inset 0 1px rgba(255,255,255,.025); }
  .dice-stake-field i.tg-s { width:17px;height:17px;flex:0 0 17px; }
  .dice-stake-field b { min-width:0;overflow:hidden;color:#f5f6fb;font-size:15px;font-variant-numeric:tabular-nums;text-overflow:ellipsis; }
  .dice-stake-field button { margin-left:auto;width:22px;height:22px;padding:0;border:0;background:transparent;color:#b8c7db;font:700 18px/1 'Fredoka',sans-serif; }
  .dice-stake-field button:disabled { opacity:.9; }
  .dice-stake-toolbar { min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border:1px solid rgba(130,177,222,.15);border-top:0;background:#203344; }
  .dice-stake-tools { display:flex;align-items:center;gap:18px; }
  .dice-stake-tools button { width:24px;height:28px;padding:0;border:0;background:transparent;color:#a9c9e6;font-size:19px;cursor:default; }
  .dice-stake-wordmark { display:inline-flex;align-items:center;gap:8px;color:#e8e0fb;font-size:18px;font-weight:800;letter-spacing:1.4px;text-shadow:0 0 14px rgba(211,50,211,.2); }
  .dice-stake-wordmark .tg-s { width:20px;height:20px; }
  .dice-stake-fairness { display:flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid rgba(166,209,240,.18);border-radius:8px;background:rgba(113,153,186,.26);color:#e8e8f5;font:700 12px 'Fredoka',sans-serif;cursor:pointer; }
  .dice-stake-fairness:hover { border-color:rgba(211,50,211,.55);background:rgba(113,153,186,.38); }
  .dice-stake-play-slot { padding:0 16px 18px;border:1px solid rgba(130,177,222,.15);border-top:0;border-radius:0 0 14px 14px;background:linear-gradient(180deg,rgba(32,51,68,.98),rgba(26,32,47,.98)); }
  .dice-stake-play-slot > .game-preview { display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;min-height:118px!important;height:auto!important;margin:0!important;padding:20px 16px!important;border:0!important;border-bottom:1px solid rgba(155,193,222,.15)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important; }
  .dice-stake-preview .pv-icon-wrap { flex:0 0 auto; }
  .dice-stake-preview .pv-title-text { color:#f5f2fc!important;font-size:23px!important; }
  .dice-stake-preview .pv-sub-text { color:rgba(214,224,239,.65)!important;font-size:12px!important; }
  .dice-stake-play-slot > .game-lobby { min-height:205px!important;padding:20px 0 6px!important; }
  .dice-stake-play-slot .pvp-title { margin:0 0 12px!important;color:#bfa9ff!important; }
  .dice-stake-play-slot .pvp-create { border:1px solid rgba(167,139,250,.24)!important;border-radius:11px!important;background:rgba(24,29,43,.62)!important;box-shadow:none!important; }
  .dice-stake-play-slot .pvp-create-btn { border-radius:8px!important; }
  .dice-stake-play-slot .pvp-list-wrap { margin-top:11px!important; }
  .dice-stake-details { width:100%!important;max-width:1200px!important;margin:24px auto 16px!important;padding:20px 16px!important;border:1px solid rgba(130,177,222,.18)!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(32,51,68,.98),rgba(26,32,47,.98))!important;box-shadow:inset 0 1px rgba(255,255,255,.035),0 14px 32px rgba(8,6,19,.18)!important; }
  .dice-stake-details .starqc-game-details__head { min-height:64px;gap:14px; }
  .dice-stake-details .starqc-game-details__mark { width:58px;height:58px;flex-basis:58px;border-radius:10px;background-color:#4b6780;box-shadow:inset 0 0 0 1px rgba(226,240,255,.12),0 8px 20px rgba(7,14,22,.18); }
  .dice-stake-details .starqc-game-details__head small { color:#b9c8e2;font-size:11px;letter-spacing:.1px; }
  .dice-stake-details .starqc-game-details__head h2 { color:#f2f4fb;font-size:20px; }
  .dice-stake-follow-meta { display:flex;flex-direction:column;gap:3px;margin-left:4px;margin-right:auto;color:#d6dfed;font-size:12px; }
  .dice-stake-follow-meta b { font-size:14px; }.dice-stake-follow-meta span { color:#b9c8e2; }
  .dice-stake-follow-meta span::first-letter { color:#2ddc6d; }
  .dice-stake-follow { min-height:38px;padding:0 16px;border:1px solid rgba(174,211,238,.18);border-radius:8px;background:rgba(104,147,181,.27);color:#eef3fc;font:700 12px 'Fredoka',sans-serif;cursor:pointer; }
  .dice-stake-follow.active { border-color:#d332d3;background:rgba(211,50,211,.2); }
  .dice-stake-details__titlebar { display:flex;align-items:center;gap:8px;margin:14px 0 10px;padding-top:13px;border-top:1px solid rgba(174,211,238,.16);color:#f2f4fb; }
  .dice-stake-details__titlebar strong { font-size:16px; }.dice-stake-details__titlebar span { margin-left:auto;color:#b9c8e2;font-size:11px; }.dice-stake-details__titlebar span b { color:#2ddc6d; }
  .dice-stake-save { padding:7px 10px;border:0;border-radius:7px;background:#4e718d;color:#f1f5fb;font:700 10px 'Fredoka',sans-serif; }
  .dice-stake-details .starqc-game-details__badges { display:none; }
  .dice-stake-details .starqc-game-details__tabs { gap:8px;padding:6px 0;border-top:0;border-bottom:0; }
  .dice-stake-details .starqc-game-details__tabs button { min-height:43px;padding:0 17px;border:0;border-radius:24px;color:#d7e0ed;background:transparent;font-size:12px; }
  .dice-stake-details .starqc-game-details__tabs button.active { color:#fff;border:0;background:#4e718d;box-shadow:none; }
  .dice-stake-details .starqc-game-details__pane { padding:18px 0 0;border-top:1px solid rgba(174,211,238,.16); }
  .dice-stake-description { display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:start; }
  .dice-stake-cover { width:150px;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#4b3a88;box-shadow:0 10px 22px rgba(5,8,15,.28); }
  .dice-stake-cover img { display:block;width:100%;height:100%;object-fit:cover; }
  .dice-stake-details .starqc-game-details__pane h3 { margin:3px 0 10px;color:#f2f4fb;font-size:17px; }.dice-stake-details .starqc-game-details__pane p { color:#c9d4e3;font-size:12px;line-height:1.6; }
}
@media (max-width:899px) {
  .dice-stake-shell { margin:0 10px; }.dice-stake-bet-panel { display:grid;grid-template-columns:1fr;gap:8px;padding:12px;border-radius:12px 12px 0 0; }
  .dice-stake-toolbar { min-height:50px;padding:0 10px; }.dice-stake-tools { gap:8px; }.dice-stake-wordmark { font-size:13px; }.dice-stake-fairness { min-height:34px;padding:0 9px;font-size:10px; }
  .dice-stake-play-slot { padding:0 10px 12px; }.dice-stake-play-slot > .game-preview { min-height:92px!important;padding:15px 4px!important; }.dice-stake-preview .pv-title-text { font-size:18px!important; }
  .dice-stake-details { margin:18px 10px 12px!important;width:calc(100% - 20px)!important;padding:14px!important;border-radius:12px!important; }.dice-stake-details .starqc-game-details__head { flex-wrap:wrap; }.dice-stake-follow-meta { order:3;width:100%;margin:8px 0 0 72px; }.dice-stake-details__titlebar span { display:none; }.dice-stake-details .starqc-game-details__tabs { overflow-x:auto; }.dice-stake-details .starqc-game-details__tabs button { padding:0 11px;white-space:nowrap; }.dice-stake-description { grid-template-columns:86px minmax(0,1fr);gap:12px; }.dice-stake-cover { width:86px; }.dice-stake-details .starqc-game-details__pane h3 { font-size:15px; }.dice-stake-details .starqc-game-details__pane p { font-size:11px; }
}

/* Keep Dice information tabs in the compact reference treatment: one filled
   active pill, plain neighbouring labels, and a single divider underneath. */
.dice-stake-details .starqc-game-details__tabs {
  align-items:center!important;
  gap:8px!important;
  padding:0 0 10px!important;
  border-top:0!important;
  border-bottom:1px solid rgba(174,211,238,.16)!important;
}
.dice-stake-details .starqc-game-details__tabs button,
.dice-stake-details .starqc-game-details__tabs button:hover,
.dice-stake-details .starqc-game-details__tabs button.active {
  min-height:42px!important;
  padding:0 17px!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:none!important;
}

/* v159 — Jackpot keeps only the player/bank stat cards outlined.  The large
   showdown and wheel-shell rectangles are structural containers, so they
   stay transparent and borderless; the betting panel below is unchanged. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) .jackpot-showdown,
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) .jackpot-wheel-shell {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.dice-stake-details .starqc-game-details__tabs button { color:#d7e0ed!important;background:transparent!important; }
.dice-stake-details .starqc-game-details__tabs button:hover { color:#f6f8ff!important; }
.dice-stake-details .starqc-game-details__tabs button.active { color:#fff!important;background:#4e718d!important; }
.dice-stake-details .starqc-game-details__pane { border-top:0!important; }
@media (max-width:899px) {
  .dice-stake-details .starqc-game-details__tabs { padding-bottom:8px!important; }
  .dice-stake-details .starqc-game-details__tabs button,
  .dice-stake-details .starqc-game-details__tabs button:hover,
  .dice-stake-details .starqc-game-details__tabs button.active { min-height:40px!important;padding:0 11px!important; }
}

/* The same information-tab treatment is shared by every game page. */
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs {
  align-items:center!important;
  gap:8px!important;
  padding:0 0 10px!important;
  border-top:0!important;
  border-bottom:1px solid rgba(174,211,238,.16)!important;
}
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button,
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button:hover,
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button.active {
  min-height:42px!important;
  padding:0 17px!important;
  border:0!important;
  border-radius:24px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button { color:#d7e0ed!important;background:transparent!important; }
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button:hover { color:#f6f8ff!important; }
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button.active { color:#fff!important;background:#4e718d!important; }
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__pane { border-top:0!important; }
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs { padding-bottom:8px!important; }
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button,
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button:hover,
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button.active { min-height:40px!important;padding:0 11px!important; }
}

/* Final tab treatment from the supplied reference: compact rectangular
   active outline, quiet neighbouring labels, and no filled pill. */
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs {
  gap:5px!important;
  padding:5px 0!important;
  border-top:1px solid rgba(211,50,211,.18)!important;
  border-bottom:1px solid rgba(211,50,211,.18)!important;
}
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button,
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button:hover,
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button.active {
  min-height:35px!important;
  padding:0 12px!important;
  border:1px solid transparent!important;
  border-radius:5px!important;
  background:transparent!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button { color:rgba(231,213,239,.55)!important; }
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button:hover { color:#fff!important;border-color:rgba(211,50,211,.28)!important; }
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button.active { color:#fff!important;border-color:#d332d3!important;background:rgba(211,50,211,.035)!important; }
html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__pane { border-top:0!important; }
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs { padding:4px 0!important; }
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button,
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button:hover,
  html.theme-engine-active #gameOverlay .starqc-game-details .starqc-game-details__tabs button.active { min-height:34px!important;padding:0 9px!important; }
}

/* Every game uses the same reliable details-cover treatment as Dice. */
html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__description {
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__cover {
  width:150px;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:10px;
  background:#4b3a88;
  box-shadow:0 10px 22px rgba(5,8,15,.28);
}
html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__cover img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__description h3 {
  margin:3px 0 10px;
}
html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__description p {
  margin-bottom:9px;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__description {
    grid-template-columns:86px minmax(0,1fr);
    gap:12px;
  }
  html.theme-engine-active #gameOverlay .starqc-game-details--cover:not(.dice-stake-details) .starqc-game-details__cover {
    width:86px;
  }
}

/* Match the catalogue categories to the new game-information tabs. */
html.theme-engine-active .casino-category-nav,
html.theme-engine-active .casino-catalogue-nav {
  min-height:0!important;
  height:auto!important;
  margin-top:0!important;
  margin-bottom:16px!important;
  padding:5px 0!important;
  gap:5px!important;
  overflow-x:auto!important;
  border-top:1px solid rgba(196,181,253,.18)!important;
  border-right:0!important;
  border-bottom:1px solid rgba(196,181,253,.18)!important;
  border-left:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active .casino-category-nav button,
html.theme-engine-active .casino-category-nav button:hover,
html.theme-engine-active .casino-category-nav button:focus-visible,
html.theme-engine-active .casino-category-nav button.active,
html.theme-engine-active .casino-category-nav button.active:hover,
html.theme-engine-active .casino-catalogue-nav button,
html.theme-engine-active .casino-catalogue-nav button:hover,
html.theme-engine-active .casino-catalogue-nav button:focus-visible,
html.theme-engine-active .casino-catalogue-nav button.active,
html.theme-engine-active .casino-catalogue-nav button.active:hover {
  flex:1 1 0!important;
  min-width:0!important;
  min-height:35px!important;
  height:35px!important;
  padding:0 12px!important;
  overflow:visible!important;
  border:1px solid transparent!important;
  border-radius:5px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(231,213,239,.55)!important;
  font-size:11px!important;
}
html.theme-engine-active .casino-category-nav button:hover,
html.theme-engine-active .casino-category-nav button:focus-visible,
html.theme-engine-active .casino-catalogue-nav button:hover,
html.theme-engine-active .casino-catalogue-nav button:focus-visible {
  color:#fff!important;
  border-color:rgba(211,50,211,.28)!important;
}
html.theme-engine-active .casino-category-nav button.active,
html.theme-engine-active .casino-category-nav button.active:hover,
html.theme-engine-active .casino-catalogue-nav button.active,
html.theme-engine-active .casino-catalogue-nav button.active:hover {
  color:#fff!important;
  border-color:#d332d3!important;
  background:rgba(211,50,211,.035)!important;
}
/* Reuse the balance/profile divider inside the catalogue tabs. */
html.theme-engine-active .casino-category-nav button:not(:last-child)::before,
html.theme-engine-active .casino-catalogue-nav button:not(:last-child)::before {
  content:''!important;
  display:block!important;
  visibility:visible!important;
  position:absolute!important;
  z-index:2!important;
  top:50%!important;
  right:-3px!important;
  width:1px!important;
  height:26px!important;
  background:rgba(196,181,253,.34)!important;
  box-shadow:0 0 6px rgba(196,181,253,.12)!important;
  transform:translateY(-50%)!important;
  pointer-events:none!important;
}

/* Keep the page laid out during the loader so card backgrounds can preload.
   The fixed loader covers the page, while this hidden content remains available
   to the browser's image loader and is revealed only after readiness checks. */
html.theme-engine-active #starqcPhone:has(> .starqc-main-loader) > .content {
  display:block!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* v296 — Slots keeps its bonus/paytable information and game utility toolbar
   in normal document flow. They sit after the cabinet instead of overlaying
   the reels or being clipped to the first viewport. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  padding-bottom:24px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo {
  order:1!important;
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-toolbar {
  order:2!important;
  display:flex!important;
  position:relative!important;
  align-self:center!important;
  width:min(1100px,calc(100% - 76px))!important;
  margin:18px auto 8px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-details {
  order:3!important;
  position:relative!important;
  align-self:center!important;
  margin:8px auto 28px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-layout {
  grid-template-columns:minmax(0,1fr)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-sidebar {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media (max-width:760px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-toolbar {
    width:calc(100% - 20px)!important;
    margin:16px auto 8px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-sidebar {
    grid-template-columns:1fr!important;
  }
}
html.theme-engine-active #starqcPhone:has(> .starqc-main-loader) .casino-category-nav,
html.theme-engine-active #starqcPhone:has(> .starqc-main-loader) .casino-catalogue-nav {
  display:none!important;
}
@media (max-width:899px) {
  html.theme-engine-active .casino-category-nav,
  html.theme-engine-active .casino-catalogue-nav { padding:4px 0!important; }
  html.theme-engine-active .casino-category-nav button,
  html.theme-engine-active .casino-category-nav button:hover,
  html.theme-engine-active .casino-category-nav button.active,
  html.theme-engine-active .casino-category-nav button.active:hover,
  html.theme-engine-active .casino-catalogue-nav button,
  html.theme-engine-active .casino-catalogue-nav button:hover,
  html.theme-engine-active .casino-catalogue-nav button.active,
  html.theme-engine-active .casino-catalogue-nav button.active:hover {
    min-height:34px!important;
    height:34px!important;
    padding:0 9px!important;
  }
}

/* One desktop page scroll: the rails stay in place while the main workspace
   grows with its content, so the mouse wheel works from the left, center, or
   right side of the window instead of only inside a nested middle scroller. */
@media (min-width:900px) {
  html.theme-engine-active,
  html.theme-engine-active body {
    min-height:100%!important;
    height:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  html.theme-engine-active .phone {
    height:auto!important;
    min-height:100vh!important;
    max-height:none!important;
    overflow:visible!important;
  }
html.theme-engine-active .content,
html.theme-engine-active #mainContent {
    height:auto!important;
    min-height:100vh!important;
    max-height:none!important;
    overflow:visible!important;
  }
  /* Dialogs must be centered in the viewport, not in the full page height. */
  html.theme-engine-active .modal-overlay {
    position:fixed!important;
    top:0!important;
    right:var(--desktop-chat)!important;
    bottom:0!important;
    left:var(--desktop-sidebar)!important;
  }
  html.theme-engine-active.starqc-chat-closed .modal-overlay { right:0!important; }
  html.theme-engine-active.starqc-sidebar-closed .modal-overlay { left:var(--desktop-sidebar-collapsed)!important; }
  html.theme-engine-active.starqc-chat-closed.starqc-sidebar-closed .modal-overlay { left:0!important; }
  html.theme-engine-active body:has(.modal-overlay.show) { overflow:hidden!important; }
html.theme-engine-active .bottom-nav {
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    height:100vh!important;
  }
}

/* Jackpot uses the same readable purple stage as the other games.  The old
   gold/brown translucent treatment made the framed areas look muddy. */
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-showdown {
  border-color:rgba(196,181,253,.2)!important;
  background:linear-gradient(145deg,rgba(36,29,53,.96),rgba(18,16,27,.98))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 12px 28px rgba(5,4,12,.18)!important;
}
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-stat {
  border-color:rgba(196,181,253,.2)!important;
  background:linear-gradient(145deg,rgba(40,31,57,.78),rgba(24,20,35,.9))!important;
}
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-wheel-shell {
  border:1px solid rgba(167,139,250,.24)!important;
  background:radial-gradient(circle at 50% 38%,rgba(139,92,246,.1),transparent 62%),rgba(24,20,35,.36)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.03),0 14px 30px rgba(5,4,12,.22)!important;
}
html.theme-engine-active #gameArea > .jackpot-game:not(.cases-screen) .jackpot-result {
  background:rgba(217,70,239,.08)!important;
  color:#f0abfc!important;
}

/* Keep every playable frame legible and neutral.  Game-specific accents stay
   on the buttons, chips, wheels and result states instead of tinting the
   whole frame brown, blue or green. */
html.theme-engine-active #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) {
  border-color:rgba(196,181,253,.18)!important;
  background:linear-gradient(145deg,rgba(36,29,53,.96),rgba(18,16,27,.98))!important;
  box-shadow:0 18px 42px rgba(5,4,12,.24),inset 0 1px rgba(255,255,255,.035)!important;
}
html.theme-engine-active #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen)::after {
  background:linear-gradient(90deg,transparent,rgba(168,85,247,.55),rgba(217,70,239,.55),transparent)!important;
  opacity:.42!important;
}
/* Plinko stays clean above the board: no decorative rainbow edge or corner mark. */
html.theme-engine-active #gameArea > .plinko-game::before,
html.theme-engine-active #gameArea > .plinko-game::after {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameArea :is(
  .roulette-betting,.roulette-bet-frame,.roulette-colors-frame,.roulette-board,
  .crash-bet-panel,.crash-social,.instant-controls,.jackpot-stat,
  .pvp-create,.pvp-list-wrap,.pvp-bj-table,.bj-solo-table,.arcade-board,
  .arcade-controls,.arcade-hold-stats
) {
  border-color:rgba(196,181,253,.2)!important;
  background:linear-gradient(145deg,rgba(40,31,57,.78),rgba(24,20,35,.9))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045),0 8px 18px rgba(5,4,12,.14)!important;
}

/* Flat, readable frame fills: no muddy color wash behind game controls. */
html.theme-engine-active #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) {
  background:#151321!important;
}
html.theme-engine-active #gameArea :is(
  .roulette-masthead,.jackpot-showdown,.crash-mult-area,.crash-graph-area,
  .instant-masthead,.roulette-betting,.roulette-bet-frame,.roulette-colors-frame,
  .roulette-board,.crash-bet-panel,.crash-social,.instant-controls,
  .jackpot-stat,.pvp-create,.pvp-list-wrap,.pvp-bj-table,.bj-solo-table,
  .arcade-board,.arcade-controls,.arcade-hold-stats
) {
  background:#1d192a!important;
}

/* Overlay games have a second #gameOverlay/#gameArea selector with higher
   specificity.  Repeat the flat fill at that level so the old game-colour
   gradients cannot leak back into the framed surfaces.  Cases are excluded
   deliberately: their reel artwork keeps its own design. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) {
  background:#151321!important;
  background-image:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-masthead,.crash-header,.arcade-hero,.jackpot-showdown,
  .jackpot-wheel-shell,.jackpot-result,.instant-masthead,
  .roulette-betting,.roulette-bet-frame,.roulette-colors-frame,.roulette-board,
  .roulette-column,.roulette-history,.crash-mult-area,.crash-graph-area,
  .crash-bet-panel,.crash-social,.instant-controls,
  .jackpot-stat,.pvp-create,.pvp-list-wrap,.pvp-bj-table,.bj-solo-table,
  .arcade-board,.arcade-controls,.arcade-hold-stats,.plinko-board,
  .plinko-controls,.mines-board,.mines-controls,.blackjack-table,
  .blackjack-controls,.rps-choice-card,.pvp-dice-box,.pvp-coin-btn
) {
  background:#1d192a!important;
  background-image:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen)::before {
  background:none!important;
}

/* v109 — use the same main site surface inside games and remove duplicate
   nested frames.  A game now has a small number of clear section frames;
   columns, wrappers and status rows sit directly on the main background. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* v112 — restore the single betting panel frame. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

/* v113 — one frame around the star + amount control, not a nested frame on
   the input itself. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) .roulette-bet-row > input {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:38px!important;
}

/* v115 tail precedence — hide native number steppers in branded controls. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"] {
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"]::-webkit-inner-spin-button,
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance:none!important;
  margin:0!important;
}

/* v116 — one unmistakably branded STARQC betting surface for every non-case
   game. The panel gets the gradient and depth; the amount row stays the only
   inner field boundary so nested frames do not stack. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  background:linear-gradient(145deg,rgba(52,40,72,.9),rgba(24,22,34,.98))!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.065),0 14px 30px rgba(12,7,25,.24)!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  background:linear-gradient(145deg,rgba(52,40,72,.9),rgba(24,22,34,.98))!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.065),0 14px 30px rgba(12,7,25,.24)!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board {
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-bet-row {
  background:linear-gradient(180deg,rgba(47,38,65,.78),rgba(22,20,33,.9))!important;
  border:1px solid rgba(196,181,253,.24)!important;
  border-radius:10px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045)!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-adjust button {
  border-color:rgba(196,181,253,.26)!important;
  background:rgba(168,85,247,.12)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}

/* v115 — keep browser number steppers out of the branded betting field. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"] {
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"]::-webkit-inner-spin-button,
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance:none!important;
  margin:0!important;
}

/* v114 — make the single outer betting-panel contour explicit. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen)::after {
  display:none!important;
}

/* Primary playable sections retain one quiet outline, with the same fill as
   the main site.  The semantic colour remains on buttons, wheels and results. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-masthead,.roulette-betting,.crash-header,.crash-mult-area,
  .crash-graph-area,.crash-bet-panel,.jackpot-showdown,.jackpot-controls,
  .plinko-board,.mines-board,.blackjack-table,.blackjack-controls,
  .arcade-board,.arcade-controls
) {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.14)!important;
  box-shadow:none!important;
}

/* These are layout wrappers, not separate cards. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-bet-frame,.roulette-colors-frame,.roulette-board,.roulette-column,
  .roulette-history,.crash-history-bar,.crash-social,.jackpot-stat,
  .jackpot-wheel-shell,.jackpot-result,.pvp-create,.pvp-list-wrap,
  .pvp-bj-table,.bj-solo-table,.arcade-hold-stats,.instant-controls .roulette-board
) {
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* The controls still read as controls without a second full panel around
   them.  Keep the field itself framed and let the action buttons carry colour. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(.roulette-bet-row,.c-auto-row,.c-action-row) {
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* v112 precedence: the betting surfaces keep one clear frame. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

/* The information card belongs to the same game page, so it uses the main
   site surface too instead of introducing another purple panel. */
html.theme-engine-active #gameOverlay #gameArea > .starqc-game-details {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border-color:rgba(196,181,253,.14)!important;
  box-shadow:none!important;
}

/* v111 — the section outlines themselves were still reading as extra cards.
   Let the main background flow through the play area and betting panel; only
   actual inputs, choice buttons and the primary action retain a boundary. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-masthead,.roulette-betting,.crash-header,.crash-mult-area,
  .crash-graph-area,.crash-bet-panel,.jackpot-showdown,.jackpot-controls,
  .plinko-board,.mines-board,.blackjack-table,.blackjack-controls,
  .arcade-board,.arcade-controls
) {
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Final v112 precedence: the betting surfaces keep one clear frame. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.16)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}

/* v114 tail precedence — final panel and field framing. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) .roulette-bet-row > input {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:38px!important;
}

/* v115 tail precedence — hide native number steppers in branded controls. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"] {
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"]::-webkit-inner-spin-button,
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance:none!important;
  margin:0!important;
}

/* v116 tail — final STARQC-branded betting surface for every non-case game. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  background:linear-gradient(145deg,rgba(52,40,72,.9),rgba(24,22,34,.98))!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.065),0 14px 30px rgba(12,7,25,.24)!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  background:linear-gradient(145deg,rgba(52,40,72,.9),rgba(24,22,34,.98))!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:14px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.065),0 14px 30px rgba(12,7,25,.24)!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board {
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-bet-row {
  background:linear-gradient(180deg,rgba(47,38,65,.78),rgba(22,20,33,.9))!important;
  border:1px solid rgba(196,181,253,.24)!important;
  border-radius:10px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045)!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-adjust button {
  border-color:rgba(196,181,253,.26)!important;
  background:rgba(168,85,247,.12)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}

/* v117 tail — match legacy game-specific bet rows to the same STARQC control
   pattern used by roulette and Plinko. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .crash-bet-panel,.pvp-create,.instant-controls,.arcade-controls
) :is(.c-bet-row,.pvc-row) {
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  gap:7px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .crash-bet-panel,.pvp-create,.instant-controls,.arcade-controls
) :is(.c-bet-input-wrap,.pvc-input-wrap,.instant-bet,.arcade-bet) {
  min-height:42px!important;
  height:42px!important;
  max-width:none!important;
  flex:1 1 auto!important;
  padding:7px 10px!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,rgba(47,38,65,.78),rgba(22,20,33,.9))!important;
  border:1px solid rgba(196,181,253,.24)!important;
  border-radius:10px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.045)!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .crash-bet-panel,.pvp-create,.instant-controls,.arcade-controls
) :is(.c-bet-adj,.pvc-adj,.instant-adjust) button {
  min-width:30px!important;
  min-height:30px!important;
  height:30px!important;
  padding:0 7px!important;
  border:1px solid rgba(196,181,253,.26)!important;
  border-radius:7px!important;
  background:rgba(168,85,247,.12)!important;
  color:#e9d5ff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) .arcade-controls .arcade-bet {
  border-radius:10px!important;
}

/* v118 — restore the earlier flat STARQC stake panel surface. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
  background:var(--background-color,#181622)!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board {
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-bet-row {
  background:transparent!important;
  background-image:none!important;
  border:1px solid rgba(196,181,253,.12)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-adjust button {
  border-color:rgba(196,181,253,.2)!important;
  border-radius:7px!important;
  background:rgba(168,85,247,.1)!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .crash-bet-panel,.pvp-create,.instant-controls,.arcade-controls
) :is(.c-bet-input-wrap,.pvc-input-wrap,.instant-bet,.arcade-bet) {
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* v119 — make the common betting contour visible and keep the amount field
   and quick-adjust buttons on one shared baseline. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) {
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:12px!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) > .roulette-board {
  box-sizing:border-box!important;
  padding:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) > .roulette-board > .roulette-bet-row {
  height:42px!important;
  min-height:42px!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) > .roulette-board > .roulette-adjust {
  height:42px!important;
  margin:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) > .roulette-board > .roulette-adjust > button {
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  padding:0 9px!important;
}

/* v120 — roulette keeps the shared amount board inside .roulette-bet-frame;
   apply the same alignment there as well. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board {
  box-sizing:border-box!important;
  padding:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board .roulette-bet-row {
  height:42px!important;
  min-height:42px!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board .roulette-adjust {
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board .roulette-adjust > button {
  height:42px!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  padding:0 9px!important;
}

/* v121 — leave a consistent breathing space inside the compact game panels. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .crash-bet-panel,.jackpot-controls,.instant-controls,.pvp-create,.arcade-controls
) {
  padding:10px 9px 11px!important;
}

/* v122 — keep the star comfortably inset from the left side of the single
   field frame; the right side remains flush for the flexible amount field. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board .roulette-bet-row {
  padding:0 0 0 9px!important;
}

/* v124 — a clearly visible shared contour around the amount field and its
   quick-adjust controls. */
html.theme-engine-active #gameOverlay #gameArea > :is(
  .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
  .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen,
  .game-preview,.game-lobby
):not(.cases-screen) :is(
  .roulette-betting,.crash-bet-panel,.jackpot-controls,.instant-controls,
  .pvp-create,.arcade-controls
) .roulette-board {
  border:1px solid rgba(196,181,253,.26)!important;
  border-radius:12px!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
}

/* v125 — Mines/Blackjack place the betting board directly under the game
   root, so give those direct boards the same shared field + quick-button
   contour as the panel-based games. */
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .roulette-board.roulette-board {
  border:1px solid rgba(196,181,253,.26)!important;
  border-radius:12px!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .roulette-board.roulette-board > .roulette-bet-row {
  height:42px!important;
  min-height:42px!important;
  padding:0 0 0 9px!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .roulette-board.roulette-board > .roulette-adjust {
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .roulette-board.roulette-board > .roulette-adjust > button {
  height:42px!important;
  min-height:42px!important;
  padding:0 9px!important;
  box-sizing:border-box!important;
}

/* v126 — keep the Jackpot stake panel compact and centered under the wheel;
   the wheel/stats stage can stay wide, but the controls should not stretch
   across the entire game area. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls {
  width:min(720px,calc(100% - 24px))!important;
  max-width:720px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
}

/* v127 — Plinko follows a clear vertical flow: the pyramid first, then the
   shared stake field, then the drop action.  Cases keep their own layout. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) {
    grid-template-rows:auto auto auto!important;
    height:auto!important;
    min-height:100%!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(294px,auto) auto auto!important;
    gap:10px!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-bankline {
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board {
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    height:clamp(294px,42vh,420px)!important;
    min-height:294px!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board #plinkoCanvas {
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-board {
    grid-column:1!important;
    grid-row:3!important;
    width:min(720px,calc(100% - 24px))!important;
    max-width:720px!important;
    margin:0 auto!important;
    align-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-spin {
    grid-column:1!important;
    grid-row:4!important;
    width:min(720px,calc(100% - 24px))!important;
    max-width:720px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0 auto!important;
    align-self:center!important;
  }

  /* Keep the stake surfaces compact and centered instead of stretching them
     over the complete game stage. */
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls {
    width:min(640px,calc(100% - 40px))!important;
    max-width:640px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table {
    width:min(720px,calc(100% - 40px))!important;
    max-width:720px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
    width:min(640px,calc(100% - 40px))!important;
    max-width:640px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > .crash-bet-panel {
    width:min(760px,calc(100% - 40px))!important;
    max-width:760px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* v128 — use the same compact, mobile-like content column as Mines for the
   other solo games.  The playable surfaces stay centered while the game
   overlay itself keeps its normal desktop width and scrolling. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .plinko-game,.jackpot-game,.crash-game,.bj-solo
  ):not(.cases-screen) {
    --starqc-compact-size:clamp(320px,calc(100vh - 505px),520px);
  }

  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board {
    width:min(var(--starqc-compact-size),100%)!important;
    max-width:var(--starqc-compact-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > :is(
    .jackpot-showdown,.jackpot-controls,.jackpot-list
  ) {
    width:min(var(--starqc-compact-size),100%)!important;
    max-width:var(--starqc-compact-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > :is(
    .crash-header,.crash-mult-area,.crash-graph-area,.crash-history-bar,
    .crash-bet-panel,.crash-social,.crash-fair-badge
  ) {
    width:min(var(--starqc-compact-size),100%)!important;
    max-width:var(--starqc-compact-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting {
    width:min(var(--starqc-compact-size),100%)!important;
    max-width:var(--starqc-compact-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board {
    width:100%!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > :is(.roulette-board,.roulette-spin) {
    width:100%!important;
    max-width:none!important;
  }
}

/* v129 — Blackjack's action/status rows use the same compact width as its
   table and stake board, matching the Mines mobile-like column. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > :is(#bjActions,#bjStatus) {
    width:min(var(--starqc-compact-size),100%)!important;
    max-width:var(--starqc-compact-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* v130 — the solo Blackjack table already has separate dealer/player rows;
   remove the extra inset pseudo-frame around both rows. */
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table::after {
  content:none!important;
  display:none!important;
  border:0!important;
}

/* v131 — keep one outer Blackjack table contour, but remove the nested
   frames around the dealer/player rows themselves. */
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table::after {
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  border:2px solid rgba(167,139,250,.1)!important;
  border-radius:17px!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table > .bj-row,
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table > .bj-row:first-child {
  border:0!important;
  border-bottom:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* v133 — a single subtle divider separates dealer and player without
   creating another boxed row. */
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table > .bj-row:first-child {
  border-bottom:1px solid rgba(196,181,253,.22)!important;
  padding-bottom:10px!important;
  margin-bottom:4px!important;
}

/* v134 — keep the Blackjack outer contour square, without rounded corner
   pieces, while retaining the single divider between the two rows. */
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table {
  border-radius:0!important;
}
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table::after {
  border-radius:0!important;
}

/* v135 — square row geometry keeps the divider ends straight as well. */
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table > .bj-row {
  border-radius:0!important;
}

/* v136 — restore the missing stage contours and let Crash use the same
   desktop resolution as Roulette.  The graph/history span the Roulette
   canvas width, while the compact stake panel stays centered as before. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > :is(
    .crash-header,.crash-mult-area,.crash-graph-area,.crash-history-bar,
    .crash-social,.crash-fair-badge
  ) {
    width:min(1100px,calc(100% - 24px))!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* Jackpot's stats and wheel share one clearly defined play surface again;
   the control panel below remains the single betting frame. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown {
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-stat {
  border:1px solid rgba(196,181,253,.22)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.018)!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-summary > .jackpot-stat {
  border:1px solid rgba(196,181,253,.22)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.018)!important;
  box-sizing:border-box!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell {
  border:1px solid rgba(196,181,253,.18)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.012)!important;
  box-sizing:border-box!important;
}

/* Roulette's round/history header is a single framed stage, matching its
   betting panel without adding a second nested card. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.cases-screen) > .roulette-masthead {
  border:1px solid rgba(196,181,253,.28)!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}

/* v138 — every non-case game now shares Roulette's wide desktop resolution.
   The game stage grows consistently; stake controls remain their own compact
   surfaces so the usable input rhythm is not stretched. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > :is(
    .roulette-game,.plinko-game,.jackpot-game,.crash-game,.mines-solo,.bj-solo,
    .arcade-game,.rps-screen-container,.pvp-dice-screen,.pvp-coin-screen
  ):not(.cases-screen) {
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting,
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table,
  html.theme-engine-active #gameOverlay #gameArea > .rps-screen-container:not(.cases-screen),
  html.theme-engine-active #gameOverlay #gameArea > .pvp-dice-screen:not(.cases-screen),
  html.theme-engine-active #gameOverlay #gameArea > .pvp-coin-screen:not(.cases-screen),
  html.theme-engine-active #gameOverlay #gameArea > .arcade-game:not(.cases-screen) {
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }

  /* A 5×5 Mines board stays comfortable to use while its game stage follows
     the same wide alignment as the other games. */
  html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) .pvp-mines-grid {
    width:min(680px,100%)!important;
    max-width:680px!important;
  }
}

/* v139 — restore Mines' compact playable size.  The shared desktop stage can
   stay wide, but the 5×5 board and its stake/status controls return to the
   compact column used before the all-games wide-stage pass. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) {
    --mines-grid-size:clamp(260px,calc(100vh - 500px),350px);
  }
  html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) .pvp-mines-grid,
  html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) :is(.roulette-board,#minesActions,#minesStatus) {
    width:min(var(--mines-grid-size),100%)!important;
    max-width:var(--mines-grid-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) .pvp-mines-grid {
    aspect-ratio:1!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
    padding:8px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .mines-solo:not(.cases-screen) .pvp-mine-cell {
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1!important;
    font-size:19px!important;
  }
}

/* v140 — the information card belongs to the playable column: match the
   non-case game width and keep it as a full-width block below the game. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details {
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin:22px auto 8px!important;
    align-self:center!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }
}

/* v141 — Blackjack follows the compact Mines column again.  Only the table
   and its action/status controls are narrowed; the information card below
   keeps the shared main-column width. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) {
    --bj-compact-size:clamp(260px,calc(100vh - 500px),350px);
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .roulette-board,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > :is(#bjActions,#bjStatus) {
    width:min(var(--bj-compact-size),100%)!important;
    max-width:var(--bj-compact-size)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* v142 — Cases use the same full-width information column as their reel and
   action stage, with the card kept as a separate block directly underneath. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .cases-screen + .starqc-game-details {
    width:100%!important;
    max-width:none!important;
    margin:22px 0 8px!important;
    align-self:stretch!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }
}

/* v143 — harden the Cases page order: the reel/action frame always comes
   first, and the information card is a normal full-width block below it. */
html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .cases-screen {
  order:1!important;
  flex:0 0 auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
  order:2!important;
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:22px 0 8px!important;
  align-self:stretch!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
}

/* v144 — keep the mouse-click feedback visible on the focused control.  This
   gives every interactive surface the same persistent STARQC outline after a
   click, while the next click naturally moves the effect to the new control. */
html.theme-engine-active :is(
  button:not(:disabled),a,[role="button"],.game-card,.starqc-promo
):focus {
  outline:2px solid rgba(217,70,239,.86)!important;
  outline-offset:2px!important;
  filter:brightness(1.06);
}
html.theme-engine-active :is(
  button:not(:disabled),a,[role="button"],.game-card,.starqc-promo
):focus-visible {
  outline:2px solid #f0a8ff!important;
  outline-offset:2px!important;
}

/* Selected controls already render their own persistent state; don't stack a
   second focus ring on top of that state. */
html.theme-engine-active :is(
  button:not(:disabled),a,[role="button"],.game-card,.starqc-promo
):focus:is(.active,.selected,.is-active,[aria-selected="true"],[aria-pressed="true"]) {
  outline:0!important;
  outline-offset:0!important;
  filter:none!important;
}

/* v146 — keep the last click visible across the whole local UI.  The
   delegated class also covers click-driven cards and surfaces that are not
   naturally focusable, while selected controls keep their own single state. */
html.theme-engine-active .starqc-clicked:not(.active,.selected,.is-active,[aria-selected="true"],[aria-pressed="true"]) {
  outline:2px solid rgba(217,70,239,.86)!important;
  outline-offset:2px!important;
  filter:brightness(1.06)!important;
}
html.theme-engine-active .starqc-global-click {
  position:fixed;
  z-index:2147483000;
  display:block;
  width:28px;
  height:28px;
  box-sizing:border-box;
  border:2px solid rgba(240,168,255,.92);
  border-radius:50%;
  background:rgba(217,70,239,.12);
  box-shadow:0 0 0 1px rgba(217,70,239,.3),0 0 18px rgba(217,70,239,.52);
  pointer-events:none;
  transform:translate(-50%,-50%);
  opacity:.78;
}
html.theme-engine-active .starqc-global-click[hidden] { display:none!important; }
html.theme-engine-active .starqc-global-click-pulse { animation:starqcGlobalClick 360ms ease-out both; }
@keyframes starqcGlobalClick {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.58); }
  55% { opacity:1; transform:translate(-50%,-50%) scale(1.18); }
  100% { opacity:.78; transform:translate(-50%,-50%) scale(1); }
}

/* v147 — the background response is a short click pulse, not a permanent
   marker for the last pointer position.  Persistent state belongs to the
   clicked control, just like the selected game-information tab. */
html.theme-engine-active .starqc-global-click { opacity:0; }
html.theme-engine-active .starqc-global-click-pulse { animation:starqcGlobalClickTransient 520ms ease-out both; }
@keyframes starqcGlobalClickTransient {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.58); }
  35% { opacity:.9; transform:translate(-50%,-50%) scale(1.12); }
  100% { opacity:0; transform:translate(-50%,-50%) scale(1.32); }
}

/* v149 — the point-of-press ripple uses the same quiet lavender spot visible
   inside the selected game tab and is available on every clickable surface. */
html.theme-engine-active .starqc-ripple {
  width:22px;
  height:22px;
  background:rgba(196,181,253,.28);
  box-shadow:0 0 0 1px rgba(196,181,253,.24),0 0 10px rgba(196,181,253,.25);
}

/* v150 — click feedback is the ripple only.  Mouse focus must not leave an
   extra persistent outline; keyboard focus-visible remains available. */
html.theme-engine-active :is(
  button:not(:disabled),a,[role="button"],.game-card,.starqc-promo
):focus:not(:focus-visible),
html.theme-engine-active .starqc-clicked:not(.active,.selected,.is-active,[aria-selected="true"],[aria-pressed="true"]) {
  outline:0!important;
  outline-offset:0!important;
  filter:none!important;
}

/* v151 — use a compact filled click spot instead of an outlined ring. */
html.theme-engine-active .starqc-global-click,
html.theme-engine-active .starqc-ripple {
  width:10px;
  height:10px;
  border:0!important;
  background:radial-gradient(circle,transparent 0 44%,rgba(75,70,84,.26) 56%,rgba(58,53,67,.12) 70%,transparent 100%)!important;
  box-shadow:none!important;
}

/* v152 — match the tab click pulse exactly: neutral plum-grey fill, no neon
   halo, and the same soft expansion used by the reference control. */
html.theme-engine-active .starqc-ripple { animation:starqcTabRipple 560ms ease-out both; }
@keyframes starqcTabRipple {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.5); }
  18% { opacity:1; transform:translate(-50%,-50%) scale(1); }
  100% { opacity:0; transform:translate(-50%,-50%) scale(1.12); }
}

/* v153 — the tab spot is a short press response, not a permanent button
   state. */
html.theme-engine-active .starqc-ripple { animation:starqcTabRippleTransient 760ms ease-out both; }
@keyframes starqcTabRippleTransient {
  0% { opacity:0; transform:translate(-50%,-50%) scale(.6); }
  24% { opacity:1; transform:translate(-50%,-50%) scale(1); }
  100% { opacity:0; transform:translate(-50%,-50%) scale(1.12); }
}

/* v160 — final Jackpot frame cleanup; keep only the stat/player cards. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown,
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* v161 — Mines uses the site plum surface instead of a separate blue/teal
   skin.  Keep the cells readable, but make the board belong to the same
   neutral game palette as the rest of the main page. */
html.theme-engine-active #gameArea .pvp-mines-grid {
  border-color:rgba(196,181,253,.18)!important;
  background:linear-gradient(145deg,rgba(36,29,53,.78),rgba(18,16,27,.9))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 10px 22px rgba(5,4,12,.18)!important;
}
html.theme-engine-active #gameArea .pvp-mine-cell {
  border-color:rgba(196,181,253,.22)!important;
  background:linear-gradient(145deg,rgba(46,39,63,.96),rgba(30,26,43,.98))!important;
  box-shadow:0 2px 10px rgba(5,4,12,.2)!important;
}
html.theme-engine-active #gameArea .pvp-mine-cell:hover:not(.diamond):not(.bomb):not(.safe) {
  border-color:rgba(217,70,239,.56)!important;
  background:linear-gradient(145deg,rgba(55,42,74,.98),rgba(34,27,50,.98))!important;
  box-shadow:0 7px 14px rgba(139,92,246,.14)!important;
}

/* v162 — the board contour should sit on the shared game background, not on
   a second tinted panel. */
html.theme-engine-active #gameArea .pvp-mines-grid {
  background:transparent!important;
}

/* v163 — the shared betting board keeps one outer contour.  The amount field
   itself should be borderless so it does not create a double frame. */
html.theme-engine-active #gameOverlay #gameArea > :not(.cases-screen) .roulette-bet-row {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}

/* v164 — amount adjustment buttons keep their outline, but use the shared
   game background instead of filled purple tiles. */
html.theme-engine-active #gameOverlay #gameArea > :not(.cases-screen) .roulette-adjust button,
html.theme-engine-active #gameOverlay #gameArea > :not(.cases-screen) .roulette-adjust button:hover:not(:disabled),
html.theme-engine-active #gameOverlay #gameArea > :not(.cases-screen) .roulette-adjust button:active:not(:disabled),
html.theme-engine-active #gameOverlay #gameArea > :not(.cases-screen) .roulette-adjust button:focus {
  background:transparent!important;
  background-image:none!important;
}

/* v165 — safe Mines cells show the STARQC mark instead of a diamond emoji. */
html.theme-engine-active #gameArea .pvp-mine-cell.diamond > .tg-s {
  display:block!important;
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
  filter:drop-shadow(0 0 4px rgba(217,70,239,.42)) drop-shadow(0 0 7px rgba(50,182,232,.2));
}
html.theme-engine-active #gameArea #minesStatus > .tg-s {
  display:inline-block!important;
  width:15px!important;
  height:15px!important;
  vertical-align:-3px!important;
}

/* v166 — the compact desktop rules used a 46px summary row while each
   player/bank card is 55px tall.  That made the wheel shell start before the
   cards had finished, so the circle visibly crossed their bottom contour. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) .jackpot-summary {
  height:55px!important;
  min-height:55px!important;
}

/* v167 — leave a visible breathing space between the stat-card contour and
   the wheel's five-pixel outer halo. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell {
  margin-top:79px!important;
}

/* v176 — every solo stake surface uses the Jackpot-style outer frame.  Mines
   and Blackjack now place their amount board and action row in the same
   shared contour; the game-specific status text remains outside it. */
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  width:min(350px,100%)!important;
  max-width:350px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:10px 9px 11px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:12px!important;
  background:#181622!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > .roulette-board {
  width:100%!important;
  max-width:none!important;
  min-height:54px!important;
  margin:0!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.26)!important;
  border-radius:10px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > .roulette-board > .roulette-bet-row {
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > .roulette-board .roulette-adjust {
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > .roulette-board .roulette-adjust > button {
  height:42px!important;
  min-height:42px!important;
  border:1px solid rgba(196,181,253,.2)!important;
  border-radius:7px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > :is(#minesActions,#bjActions) {
  display:flex!important;
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > :is(#minesActions,#bjActions) > .c-main-btn:not(.cashout) {
  width:100%!important;
  min-height:44px!important;
  height:44px!important;
}
html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .starqc-stake-panel > #bjActions > .pvp-bj-btn.double {
  background:linear-gradient(135deg,#8b5cf6,#d946ef)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 5px 16px rgba(139,92,246,.22)!important;
}

/* v177 — the Jackpot controls use the same compact stake geometry as Mines.
   Keep the Jackpot outer contour, but make its inner field and action row
   identical so the shared bet panel does not change shape between games. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen):not(.is-drawing):not(.is-result):not(.is-refunded) > .jackpot-controls {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  width:min(350px,100%)!important;
  max-width:350px!important;
  padding:10px 9px 11px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:12px!important;
  background:#181622!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls > .roulette-board {
  width:100%!important;
  max-width:none!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.26)!important;
  border-radius:10px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls > .roulette-board > .roulette-bet-row {
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls > .roulette-board .roulette-adjust {
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls > .roulette-board .roulette-adjust > button {
  height:42px!important;
  min-height:42px!important;
  border:1px solid rgba(196,181,253,.2)!important;
  border-radius:7px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls > .instant-action {
  width:100%!important;
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
}

/* The Mines turquoise-to-blue action treatment is the shared STARQC game
   action.  Choice/result buttons keep their own semantic colours. */
html.theme-engine-active #gameOverlay #gameArea > :not(.cases-screen) :is(
  .roulette-spin,.instant-action,.pvp-create-btn,.c-main-btn:not(.cashout),
  .pvp-dice-btn,.system-play
) {
  background:linear-gradient(135deg,#2dd4bf,#38bdf8)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(45,212,191,.22)!important;
}

/* v177a — keep the drawing/result action compact even when an older inline
   Jackpot stylesheet is still present in an already-open game document. */
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-next {
  width:min(350px,calc(100% - 24px))!important;
  max-width:350px!important;
  margin:10px auto 0!important;
  flex:0 0 auto!important;
  align-self:center!important;
}

/* v168 — give the Jackpot wheel a little more presence on the desktop game
   stage.  The shell grows with it, so the betting panel stays below the full
   circle instead of being pulled up alongside it. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell {
    height:clamp(290px,calc(100vh - 490px),330px)!important;
    justify-items:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell > .jackpot-wheel {
    width:clamp(290px,calc(100vh - 490px),330px)!important;
    height:clamp(290px,calc(100vh - 490px),330px)!important;
    justify-self:center!important;
    align-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls {
    margin-top:14px!important;
  }
}

/* v178 — Plinko uses the same compact stake panel as Mines and Jackpot.  The
   pyramid remains its own wide play field, while the amount controls and drop
   action share one centered outer frame below it. */
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
  width:min(350px,100%)!important;
  max-width:350px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:10px 9px 11px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:12px!important;
  background:#181622!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-board {
  width:100%!important;
  max-width:none!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  padding:6px 7px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.26)!important;
  border-radius:10px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-board > .roulette-bet-row {
  min-width:0!important;
  height:42px!important;
  min-height:42px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-board .roulette-adjust {
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  align-items:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-board .roulette-adjust > button {
  height:42px!important;
  min-height:42px!important;
  border:1px solid rgba(196,181,253,.2)!important;
  border-radius:7px!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-spin {
  width:100%!important;
  min-height:44px!important;
  height:44px!important;
  margin:0!important;
}
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting {
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto minmax(294px,auto) auto!important;
    gap:10px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-bankline {
    grid-column:1!important;
    grid-row:1!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board {
    grid-column:1!important;
    grid-row:2!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
    grid-column:1!important;
    grid-row:3!important;
  }
}

/* v179 — Stake-style utility strip below the home game catalogue.  It keeps
   the game cards as the main focus while giving the page the same compact
   tools/brand/fairness rhythm as the reference. */
.starqc-home-toolbar {
  position:relative;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:22px 0 10px;
  padding:0 14px;
  box-sizing:border-box;
  border:1px solid rgba(166,209,240,.14);
  border-radius:6px;
  background:#203344;
  color:#a9c9e6;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 4px 16px rgba(7,14,22,.16);
}
.starqc-home-toolbar__tools {
  display:flex;
  align-items:center;
  gap:16px;
}
.starqc-home-toolbar__tools button {
  width:28px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#a9c9e6;
  cursor:pointer;
  transition:background .15s,color .15s,transform .15s;
}
.starqc-home-toolbar__tools button:hover {
  background:rgba(166,209,240,.1);
  color:#e1f1ff;
}
.starqc-home-toolbar__tools button:active { transform:scale(.94); }
.starqc-home-toolbar__tools svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.starqc-home-toolbar__wordmark {
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  color:#e8e0fb;
  font:700 21px/1 Georgia,'Times New Roman',serif;
  font-style:italic;
  letter-spacing:.2px;
  text-shadow:0 0 14px rgba(211,50,211,.18);
  pointer-events:none;
}
.starqc-home-toolbar__fairness {
  min-height:40px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 15px;
  border:1px solid rgba(166,209,240,.18);
  border-radius:8px;
  background:transparent;
  color:#e8e8f5;
  font:700 12px 'Fredoka',sans-serif;
  cursor:pointer;
  transition:background .15s,border-color .15s,transform .15s;
}
.starqc-home-toolbar__fairness:hover {
  border-color:rgba(211,50,211,.55);
  background:transparent;
}
.starqc-home-toolbar__fairness:active { transform:scale(.97); }
.starqc-home-toolbar__fairness svg {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media (max-width:899px) {
  .starqc-home-toolbar {
    min-height:52px;
    margin:16px 0 8px;
    padding:0 10px;
    gap:8px;
  }
  .starqc-home-toolbar__tools { gap:5px; }
  .starqc-home-toolbar__tools button { width:26px; height:30px; }
  .starqc-home-toolbar__tools svg { width:19px; height:19px; }
  .starqc-home-toolbar__wordmark { font-size:17px; }
  .starqc-home-toolbar__fairness { min-height:34px; padding:0 9px; gap:5px; font-size:10px; }
  .starqc-home-toolbar__fairness svg { width:17px; height:17px; }
}

/* v180 — the utility strip belongs to each opened game and follows the
   STARQC plum/lavender palette instead of the blue reference colours. */
html.theme-engine-active #gameOverlay > .starqc-game-toolbar {
  flex:0 0 auto;
  width:100%;
  min-height:58px;
  margin:0;
  padding:0 22px;
  border:0;
  border-top:1px solid rgba(196,181,253,.2);
  border-radius:0;
  background:#181622;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 -8px 18px rgba(9,7,17,.16);
}
html.theme-engine-active #gameOverlay > .starqc-game-toolbar .starqc-home-toolbar__tools button {
  color:#c4b5fd;
}
html.theme-engine-active #gameOverlay > .starqc-game-toolbar .starqc-home-toolbar__tools button:hover {
  background:rgba(217,70,239,.12);
  color:#f4d0ff;
}
html.theme-engine-active #gameOverlay > .starqc-game-toolbar .starqc-home-toolbar__wordmark {
  color:#f4d0ff;
  text-shadow:0 0 14px rgba(217,70,239,.28);
}
html.theme-engine-active #gameOverlay > .starqc-game-toolbar .starqc-home-toolbar__fairness {
  border-color:rgba(196,181,253,.34);
  background:transparent;
  color:#f4eaff;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 14px rgba(139,92,246,.12);
}
html.theme-engine-active #gameOverlay > .starqc-game-toolbar .starqc-home-toolbar__fairness:hover {
  border-color:rgba(217,70,239,.72);
  background:transparent;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay > .starqc-game-toolbar {
    min-height:52px;
    padding:0 10px;
  }
}

/* v181 — match the game's information card instead of spanning the whole
   desktop overlay.  The toolbar is a complete framed card, not just a top
   divider. */
html.theme-engine-active #gameOverlay > .starqc-game-toolbar {
  width:min(1100px,calc(100% - 32px))!important;
  max-width:1100px!important;
  min-height:58px!important;
  margin:0 auto 12px!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.3)!important;
  border-radius:14px!important;
  background:#181622!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 8px 20px rgba(9,7,17,.18)!important;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay > .starqc-game-toolbar {
    width:calc(100% - 20px)!important;
    min-height:52px!important;
    margin:0 auto 8px!important;
    border-radius:12px!important;
  }
}

/* v182 — keep the toolbar in the game flow directly above the information
   card, so it no longer sits fixed over the card at the bottom of the view. */
html.theme-engine-active #gameOverlay .starqc-game-toolbar {
  order:998!important;
  flex:0 0 auto!important;
  width:min(1100px,calc(100% - 76px))!important;
  max-width:1100px!important;
  min-height:58px!important;
  margin:22px auto 8px!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(196,181,253,.3)!important;
  border-radius:14px!important;
  background:#181622!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 8px 20px rgba(9,7,17,.18)!important;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay .starqc-game-toolbar {
    width:calc(100% - 20px)!important;
    min-height:52px!important;
    margin:18px auto 8px!important;
    border-radius:12px!important;
  }
}

/* v183 — apply the STARQC accents to the nested toolbar after it moves into
   the scrollable game area. */
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__tools button {
  color:#c4b5fd!important;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__tools button:hover {
  background:rgba(217,70,239,.12)!important;
  color:#f4d0ff!important;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__wordmark {
  color:#f4d0ff!important;
  text-shadow:0 0 14px rgba(217,70,239,.28)!important;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness {
  border-color:rgba(196,181,253,.34)!important;
  background:transparent!important;
  color:#f4eaff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 14px rgba(139,92,246,.12)!important;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness:hover {
  border-color:rgba(217,70,239,.72)!important;
  background:transparent!important;
}

/* v184 — the four utility buttons are live controls, not decoration. */
html.theme-engine-active #gameOverlay .starqc-game-toolbar {
  overflow:visible!important;
  z-index:20;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar__tool {
  position:relative;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar__tool[aria-pressed="true"] {
  color:#f4d0ff!important;
  background:rgba(168,85,247,.2)!important;
  box-shadow:inset 0 0 0 1px rgba(217,70,239,.3),0 0 14px rgba(168,85,247,.12);
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar__tool[data-tip]::after {
  content:attr(data-tip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  z-index:45;
  transform:translate(-50%,4px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:7px 10px;
  border:1px solid rgba(196,181,253,.34);
  border-radius:8px;
  background:#302542;
  color:#f4eaff;
  font:700 11px/1.1 'Fredoka',sans-serif;
  box-shadow:0 8px 18px rgba(8,5,17,.34);
  transition:opacity .15s ease,transform .15s ease;
}
html.theme-engine-active #gameOverlay .starqc-game-toolbar__tool[data-tip]:hover::after,
html.theme-engine-active #gameOverlay .starqc-game-toolbar__tool[data-tip]:focus-visible::after {
  opacity:1;
  transform:translate(-50%,0);
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover,
html.theme-engine-active #gameOverlay .starqc-game-live-popover {
  position:absolute;
  bottom:calc(100% + 9px);
  z-index:40;
  box-sizing:border-box;
  border:1px solid rgba(196,181,253,.34);
  border-radius:12px;
  background:linear-gradient(160deg,#2a2141,#181622);
  box-shadow:0 16px 34px rgba(8,5,17,.42),inset 0 1px rgba(255,255,255,.05);
  color:#f4eaff;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover[hidden],
html.theme-engine-active #gameOverlay .starqc-game-live-popover[hidden] {
  display:none!important;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover {
  left:0;
  width:246px;
  padding:8px 0;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-volume {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:0 14px 6px;
  color:#e9d5ff;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-volume span {
  width:20px;
  text-align:center;
  font-size:15px;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-volume input[type="range"] {
  width:100%;
  min-height:0!important;
  accent-color:#d946ef;
  cursor:pointer;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover > button {
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 14px;
  border:0;
  border-radius:0;
  background:transparent;
  color:#efe7fa;
  font:600 12px 'Fredoka',sans-serif;
  text-align:left;
  cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover > button:hover,
html.theme-engine-active #gameOverlay .starqc-game-tools-popover > button:focus-visible {
  outline:none;
  background:rgba(168,85,247,.18);
  color:#fff;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover > button.is-active {
  background:rgba(217,70,239,.12);
  color:#f4d0ff;
}
html.theme-engine-active #gameOverlay .starqc-game-tools-popover > button b {
  color:#c4b5fd;
  font-size:10px;
  letter-spacing:.4px;
}
html.theme-engine-active #gameOverlay .starqc-game-live-popover {
  right:0;
  width:250px;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:13px 15px;
  font:600 11px/1.35 'Fredoka',sans-serif;
}
html.theme-engine-active #gameOverlay .starqc-game-live-popover strong {
  margin-bottom:3px;
  color:#f4d0ff;
  font-size:12px;
  letter-spacing:.8px;
}
html.theme-engine-active #gameOverlay .starqc-game-live-popover span { color:#d8cdea; }
html.starqc-animations-off *,
html.starqc-animations-off *::before,
html.starqc-animations-off *::after {
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  scroll-behavior:auto!important;
}
html.starqc-theatre-mode #gameOverlay .game-area {
  padding-left:34px!important;
  padding-right:34px!important;
}
@media (min-width:900px) {
  html.starqc-theatre-mode #gameOverlay .game-area > :not(.starqc-game-toolbar,.starqc-game-details) {
    max-width:1400px!important;
  }
}
html.starqc-mini-player #gameOverlay {
  position:fixed!important;
  inset:auto 22px 22px auto!important;
  width:min(430px,calc(100vw - 32px))!important;
  height:min(360px,54vh)!important;
  min-height:0!important;
  z-index:2600!important;
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:14px!important;
  box-shadow:0 22px 60px rgba(0,0,0,.58),0 0 28px rgba(139,92,246,.18)!important;
}
html.starqc-mini-player #gameOverlay .game-area {
  padding:10px 14px 14px!important;
  overflow:auto!important;
}
html.starqc-mini-player #gameOverlay .starqc-game-details { display:none!important; }
html.starqc-mini-player #gameOverlay .starqc-game-toolbar {
  display:flex!important;
  order:-1!important;
  position:sticky!important;
  top:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 8px!important;
  border-radius:10px!important;
}
html.starqc-mini-player #gameOverlay .starqc-home-toolbar__tools { gap:4px; }
html.starqc-mini-player #gameOverlay .starqc-home-toolbar__tools button { width:28px; height:32px; }
html.starqc-mini-player #gameOverlay .starqc-home-toolbar__wordmark { font-size:15px; }
html.starqc-mini-player #gameOverlay .starqc-home-toolbar__fairness { min-height:32px; padding:0 8px; font-size:10px; }
@media (min-width:900px) {
  html.starqc-mini-player #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details {
    display:none!important;
  }
}

/* v292 — the toolbar wordmark follows the plain STARQC mark used by the
   hamburger/sidebar: upright Fredoka text with no glow or active highlight. */
.starqc-home-toolbar__wordmark,
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__wordmark {
  color:#fff!important;
  font-family:'Fredoka',sans-serif!important;
  font-style:normal!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}

/* v293 — the fairness control stays neutral in every interaction state. */
.starqc-home-toolbar__fairness,
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness {
  border-color:rgba(196,181,253,.3)!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#c4b5fd!important;
  text-shadow:none!important;
}
.starqc-home-toolbar__fairness:hover,
.starqc-home-toolbar__fairness:focus,
.starqc-home-toolbar__fairness:focus-visible,
.starqc-home-toolbar__fairness:active,
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness:hover,
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness:focus,
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness:focus-visible,
html.theme-engine-active #gameOverlay .starqc-game-toolbar .starqc-home-toolbar__fairness:active {
  border-color:rgba(196,181,253,.3)!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#c4b5fd!important;
  outline:none!important;
  filter:none!important;
}
@media (max-width:899px) {
  html.starqc-mini-player #gameOverlay {
    inset:auto 10px 10px 10px!important;
    width:auto!important;
    height:min(360px,60vh)!important;
  }
}

/* v188 — PvP/preview routes use a two-column game-area grid.  The shared
   utility strip must span that grid like it does on Mines; only the strip's
   placement changes, never the game's own column widths. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .starqc-game-toolbar {
    grid-column:1 / -1!important;
    justify-self:center!important;
    width:min(1100px,calc(100% - 76px))!important;
    max-width:1100px!important;
    margin:22px auto 8px!important;
  }
}

/* v189 — use Plinko's desktop stage as the shared baseline for the utility
   strip.  Each game keeps its own width and internal controls; shorter games
   simply reserve the same stage height so the STARQC/Fairness panel lands in
   one consistent position above the information card.  Cases stay full-bleed. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .roulette-game,
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .crash-game,
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .jackpot-game,
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .mines-solo,
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .bj-solo,
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .arcade-game {
    min-height:662px!important;
  }

  /* PvP previews use a two-column grid.  Keep their own compact cards at the
     top of a Plinko-sized stage, while the shared strip occupies the same row
     as it does on every solo game. */
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) {
    grid-template-rows:648px auto auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .game-preview,
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .game-lobby {
    align-self:start!important;
  }
}

/* v193 — the Mines stake slot is the desktop reference.  Keep the amount
   controls centered in the lower part of the game stage; game-specific boards
   retain their own geometry and width. */
@media (min-width:900px) {
  /* Blackjack has a shorter table, so its shared stake slot is lowered to the
     same baseline as Mines, including the nearby label/status rows. */
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .pvc-label,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .starqc-stake-panel,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > #bjStatus {
    position:relative!important;
    top:152px!important;
  }

  /* Plinko's panel is already in the same slot, just one ten-pixel gap lower. */
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
    position:relative!important;
    top:-10px!important;
  }

  /* Roulette keeps its colour choices in the wide game row.  The amount field
     itself follows the Mines pattern: one compact centered frame directly
     above the confirmation action. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    position:absolute!important;
    top:526px!important;
    left:calc(50% - 14px)!important;
    z-index:6!important;
    width:350px!important;
    max-width:350px!important;
    height:78px!important;
    min-height:78px!important;
    margin:0!important;
    padding:10px 9px 11px!important;
    box-sizing:border-box!important;
    transform:translateX(-50%)!important;
    border:1px solid rgba(196,181,253,.38)!important;
    border-radius:12px!important;
    background:#181622!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-bankline {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:6px 7px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.26)!important;
    border-radius:10px!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
  }

  /* The arcade games use the same centered compact control width where they
     expose a bet field; their play boards remain full width. */
  html.theme-engine-active #gameOverlay #gameArea > .arcade-game:not(.cases-screen) > .arcade-controls,
  html.theme-engine-active #gameOverlay #gameArea > .arcade-hold-game:not(.cases-screen) > .arcade-bore-controls {
    width:350px!important;
    max-width:350px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Crash has two small metadata rows after the bet surface.  Move those
     rows into the spare gap above the shared slot so the bet frame itself can
     sit on the same baseline without covering them. */
  html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > .crash-bet-panel {
    position:relative!important;
    top:153px!important;
    z-index:3!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > .crash-social {
    position:absolute!important;
    top:405px!important;
    left:12px!important;
    right:12px!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > .crash-fair-badge {
    position:absolute!important;
    top:445px!important;
    left:12px!important;
    right:12px!important;
    margin:0!important;
  }

  html.theme-engine-active #gameOverlay #gameArea > .arcade-hold-game:not(.cases-screen) > .arcade-bore-controls,
  html.theme-engine-active #gameOverlay #gameArea > .arcade-hold-game:not(.cases-screen) > .arcade-message,
  html.theme-engine-active #gameOverlay #gameArea > .arcade-hold-game:not(.cases-screen) > .arcade-note {
    position:relative!important;
    top:34px!important;
  }
}

/* v194 — fine-tune the amount content without moving the shared panel or its
   quick-action buttons.  Mines/Blackjack are the reference field; Jackpot's
   inherited inner inset is a little too far right, while Crash carried an
   extra nine-pixel left padding from its legacy row. */
html.theme-engine-active #gameOverlay #gameArea > :is(.mines-solo,.bj-solo):not(.cases-screen) > .starqc-stake-panel > .roulette-board > .roulette-bet-row {
  transform:translateX(2px)!important;
}
html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls > .roulette-board > .roulette-bet-row {
  padding-left:0!important;
  transform:translateX(2px)!important;
}
html.theme-engine-active #gameOverlay #gameArea > .crash-game:not(.cases-screen) > .crash-bet-panel > .roulette-board > .roulette-bet-row {
  padding-left:0!important;
  transform:translateX(2px)!important;
}
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-board > .roulette-bet-row {
    transform:translateX(-7px)!important;
  }

/* v201 — Roulette's two wide cards use the same compact centered footprint as
   the Mines/Blackjack play surfaces.  The game root remains full width; only
   the visible masthead and colour-selection panel are narrowed. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    width:350px!important;
    max-width:350px!important;
    min-height:231px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:14px 9px 11px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.38)!important;
    border-radius:12px!important;
    background:#181622!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    width:350px!important;
    max-width:350px!important;
    height:200px!important;
    min-height:200px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:10px 9px 11px!important;
    box-sizing:border-box!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
    gap:0!important;
    border:1px solid rgba(196,181,253,.38)!important;
    border-radius:12px!important;
    background:#181622!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame {
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    height:100%!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    padding:6px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row {
    padding-left:0!important;
    transform:translateX(2px)!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
  }
}

/* v204 — keep the Roulette play block itself on the same compact 350px axis
   as its masthead, colour panel and stake frame.  The game-area shell and
   utility toolbar remain full-width siblings. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    width:350px!important;
    max-width:350px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    justify-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    left:50%!important;
  }
}

/* v211 — the colour frame hugs the button row on every edge. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    width:100%!important;
    height:54px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    padding:0!important;
  }
}

/* v213 — centre the roulette play track at 1000px while the site toolbar
   keeps its own 1100px width. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    width:1000px!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    width:1000px!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v209 — the three-colour frame should hug its buttons instead of reserving a
   tall empty card underneath them. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    height:78px!important;
    min-height:78px!important;
    align-self:start!important;
  }
}

/* v210 — remove the remaining vertical inset around the three colour buttons;
   keep only the horizontal spacing that separates the buttons from each other. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    height:57px!important;
    min-height:57px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    height:55px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    padding-top:0!important;
    padding-bottom:0!important;
  }
}

/* v207 — keep the original roulette card composition while making both upper
   cards inherit the exact compact width of the stake/action panels below. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    width:100%!important;
    max-width:100%!important;
  }
}

/* v208 — the roulette status ribbon and the three-colour panel span the same
   1100px desktop track as the shared game toolbar.  The amount controls stay
   compact and centred inside that wider game track. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    width:1100px!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    width:1100px!important;
    max-width:1100px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-spin {
    width:350px!important;
    max-width:350px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v212 — final zero-inset pass for the colour button frame. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    height:56px!important;
    min-height:56px!important;
    padding:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    width:100%!important;
    height:54px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    padding:0!important;
  }
}

/* v214 — final desktop width: 1000px, centred. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    width:1000px!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    width:1000px!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v215 — only the three-colour betting panel uses the narrower 1000px track;
   the roulette status card and game shell stay on the 1100px desktop track. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    width:1100px!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    width:1100px!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    width:1000px!important;
    max-width:1000px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v216 — the three roulette choices are individual controls, not one shared
   bordered card. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-color {
     box-sizing:border-box!important;
     border:1px solid rgba(196,181,253,.38)!important;
     border-radius:9px!important;
   }
 }

/* v217 — Roulette uses the same stake component as Mines: the amount board
   and the action button share one compact outer frame. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    width:350px!important;
    max-width:350px!important;
    height:132px!important;
    min-height:132px!important;
    padding:10px 9px 11px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.38)!important;
    border-radius:12px!important;
    background:#181622!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-bankline {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-spin {
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
  }
}

/* v218 — match Mines' inner action sizing and transparent quick controls. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-spin {
    position:static!important;
    width:auto!important;
    align-self:stretch!important;
    flex:0 0 44px!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-spin:hover:not(:disabled) {
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame .roulette-adjust > button {
    background:transparent!important;
    background-image:none!important;
    padding:5px 9px!important;
  }
}

/* v219 — leave a little more breathing room below the stake frame before the
   recent-results and fairness lines. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-footer {
  transform:translateY(5px)!important;
}

/* v222 — keep the roulette strip visible while the next 10-second betting
   countdown is running. The previous round's cells stay parked at the
   starting position until the server switches the stage to `spinning`. */
html.theme-engine-active #gameOverlay .roulette-stage:not(.spinning):not(.settled) {
  min-height:112px!important;
}
html.theme-engine-active #gameOverlay .roulette-stage:not(.spinning):not(.settled) .roulette-strip {
  top:26px!important;
  opacity:1!important;
}
html.theme-engine-active #gameOverlay .roulette-stage:not(.spinning):not(.settled) strong.word.countdown {
  position:absolute!important;
  /* center the number in the gap between the masthead edge and the strip */
  top:-30px!important;
  bottom:auto!important;
  z-index:4;
}
html.theme-engine-active #gameOverlay .roulette-stage:not(.spinning):not(.settled) small {
  position:absolute!important;
  top:auto!important;
  bottom:7px!important;
  margin:0!important;
  z-index:4;
}
html.theme-engine-active #gameOverlay .roulette-stage.settled {
  min-height:112px!important;
}

/* v223 — keep the countdown in the same absolute slot when the reel starts.
   Switching it back to the flex flow made the digits vanish with a small
   jump as the stage changed to `spinning`. */
html.theme-engine-active #gameOverlay .roulette-stage strong.word {
  transition:opacity .18s ease,transform .18s ease!important;
  pointer-events:none;
}
html.theme-engine-active #gameOverlay .roulette-stage.spinning strong.word {
  position:absolute!important;
  top:-30px!important;
  bottom:auto!important;
  opacity:0!important;
  transform:translateY(-4px);
}
html.theme-engine-active #gameOverlay .roulette-stage.settled strong.word {
  position:absolute!important;
  top:auto!important;
  bottom:1px!important;
  opacity:1!important;
  transform:none;
}

/* v224 — show the player's name below the colour button instead of clipping
   it inside the compact empty-state row.  The colour panel stays flush when
   there are no bets, then grows with the visible bet cards when a round has
   participants. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting:has(.roulette-bet) {
  height:auto!important;
  min-height:56px!important;
  align-items:start!important;
  overflow:visible!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame:has(.roulette-bet) {
  height:auto!important;
  min-height:54px!important;
  overflow:visible!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns:has(.roulette-bet) {
  height:auto!important;
  min-height:54px!important;
  align-items:start!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column:has(.roulette-bet) {
  height:auto!important;
  min-height:54px!important;
  align-self:start!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.018)!important;
  box-shadow:inset 0 0 0 1px rgba(196,181,253,.34)!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bets:has(.roulette-bet) {
  flex:0 0 auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:6px!important;
  padding-bottom:6px!important;
  overflow:visible!important;
}

/* v226 — the player's own row is transparent, with a circular Telegram avatar
   instead of the compact square chip used by the legacy list. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet.me {
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet.me::before {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet .roulette-avatar,
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet .roulette-avatar img {
  border-radius:50%!important;
}

/* v227 — a growing player list must never stretch the colour control itself. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column .roulette-color {
  flex:0 0 58px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
}

/* v228 — keep the button frame at its compact height.  Player rows overflow
   below it without changing the button/card geometry. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting:has(.roulette-bet) {
  height:56px!important;
  min-height:56px!important;
  overflow:visible!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame:has(.roulette-bet),
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns:has(.roulette-bet) {
  height:54px!important;
  min-height:54px!important;
  overflow:visible!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column:has(.roulette-bet) {
  position:relative!important;
  height:54px!important;
  min-height:54px!important;
  align-self:start!important;
  background:transparent!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bets:has(.roulette-bet) {
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:0!important;
  z-index:5!important;
  flex:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:126px!important;
  margin-top:0!important;
  padding-bottom:0!important;
  overflow-y:auto!important;
}

/* v229 — keep the amount and its star on the same STARQC/Fredoka rhythm. */
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row,
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row input,
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet b {
  font-family:'Fredoka',sans-serif!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row input {
  font-size:18px!important;
  font-weight:800!important;
  line-height:1!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row > .tg-s {
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  transform:none!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet b {
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  font-size:12px!important;
  line-height:1!important;
}
html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet b .tg-s {
  width:13px!important;
  height:13px!important;
  flex:0 0 13px!important;
  transform:none!important;
}

/* v230 — Cases keep the opening frame and the information card on the same
   centred 1100px desktop track. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .cases-screen,
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .cases-screen {
    margin-top:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .cases-screen > .cp-case {
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
}

/* v231 — keep the header background full width; the title follows the centred
   1100px game track and the account strip shares the main page's right edge. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay > .game-header {
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:max(22px,calc((100% - 1100px)/2))!important;
    padding-right:max(22px,calc((100% - 1148px)/2))!important;
    box-sizing:border-box!important;
  }
}

/* v232 — Jackpot uses the same centred utility track as the other solo games.
   Keep the wheel's requested 73px breathing space above its outer halo so the
   stake panel and the STARQC toolbar land on the shared vertical rhythm. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .jackpot-game) > .starqc-game-toolbar {
    width:1100px!important;
    max-width:1100px!important;
    margin:22px auto 8px!important;
    align-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-wheel-shell {
    margin-top:73px!important;
  }
}

/* v233 — keep Jackpot's stake card on the same centred 350px slot used by
   Mines/Blackjack, with the 1100px STARQC toolbar directly below the game. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls {
    width:350px!important;
    max-width:350px!important;
    margin:14px auto 0!important;
    align-self:center!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .jackpot-game) > .starqc-game-toolbar {
    width:1100px!important;
    max-width:1100px!important;
    margin:22px auto 8px!important;
    align-self:center!important;
    box-sizing:border-box!important;
  }
}

/* v235 — keep Jackpot's waiting/result label clear of the compact stake frame
   after the Plinko alignment pass. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-showdown > .jackpot-result {
    transform:none!important;
  }
}

/* v234 — match Plinko's compact vertical rhythm.  The wheel keeps its 330px
   size and 73px top breathing space; only the controls' flow gap and the
   game's trailing space are tightened so the stake card and utility toolbar
   sit at the same visual level as Plinko. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls {
    margin-top:-33px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) {
    margin-bottom:-21px!important;
  }
}

/* v236 — keep the utility panel and the game information panel on separate
   scroll steps for every game. The toolbar remains the first visible panel;
   the information card follows after the user scrolls further. */
html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details,
html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
  order:998!important;
  margin-top:84px!important;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details,
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
    order:998!important;
    margin-top:84px!important;
  }
}

/* v240 — keep the utility toolbar at the bottom of the first viewport. The
   information card stays below it and is reached only after scrolling. */
html.theme-engine-active #gameOverlay #gameArea > .starqc-game-toolbar {
  order:998!important;
}
html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details,
html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
  order:999!important;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details,
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
    order:999!important;
  }
}

/* v241 — reserve the first viewport as a real game stage.  The utility strip
   is anchored to its bottom edge before scrolling; the information card is a
   second grid row and therefore starts below the fold.  PvP lobbies retain
   their two game columns in that first row. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea {
    height:auto!important;
    min-height:calc(100vh - 64px)!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding-bottom:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .game-preview)) {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(0,calc(100vh - 64px)) auto!important;
    align-items:start!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) {
    display:grid!important;
    grid-template-rows:minmax(0,calc(100vh - 64px)) auto!important;
    align-items:start!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .game-preview)) > :not(.starqc-game-toolbar,.starqc-game-details) {
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .game-preview,
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) > .game-lobby {
    grid-row:1!important;
    align-self:start!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .starqc-game-toolbar {
    grid-column:1 / -1!important;
    grid-row:1!important;
    align-self:end!important;
    margin:0 auto 9px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .starqc-game-details {
    grid-column:1 / -1!important;
    grid-row:2!important;
    align-self:start!important;
    margin:8px auto 8px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)) > .starqc-game-details,
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
    margin-top:8px!important;
  }

  /* Compensate for each stage's top padding/margin so the four-pixel bottom
     breathing room is consistent at every desktop viewport height. */
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) {
    grid-template-rows:minmax(0,calc(100vh - 120px)) auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .game-preview) {
    grid-template-rows:minmax(0,calc(100vh - 70px)) auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)):not(:has(> .game-preview)) {
    grid-template-rows:minmax(0,calc(100vh - 78px)) auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .jackpot-game) > .starqc-game-toolbar {
    align-self:end!important;
    margin:0 auto 9px!important;
  }

  /* v254 — align Jackpot Wheel's stake panel with Roulette's stake frame. */
  html.theme-engine-active #gameOverlay #gameArea > .jackpot-game:not(.cases-screen) > .jackpot-controls {
    transform:none!important;
  }

  /* v257 — match Plinko's stake panel to Roulette's 350×132px frame and keep
     its proof line directly beneath the moved panel. */
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
    height:132px!important;
    min-height:132px!important;
    align-self:start!important;
    margin-bottom:6.64px!important;
    box-sizing:border-box!important;
    transform:translateY(40.7px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting {
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .roulette-footer {
    height:12px!important;
    min-height:12px!important;
    transform:translateY(20px)!important;
  }

  /* v261 — turn Plinko into a compact, centered play surface. The board,
     pins, and multiplier row now share one visual axis instead of stretching
     across an oversized empty panel. */
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting {
    padding:10px 0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-bankline {
    width:min(760px,100%)!important;
    max-width:760px!important;
    margin:0 auto 7px!important;
    padding:0 4px!important;
    color:rgba(233,213,255,.64)!important;
    font-size:10px!important;
    letter-spacing:1px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board {
    width:min(760px,100%)!important;
    max-width:760px!important;
    height:440px!important;
    min-height:440px!important;
    justify-self:center!important;
    border:1px solid rgba(196,181,253,.16)!important;
    border-radius:24px!important;
    background:
      radial-gradient(ellipse 62% 44% at 50% 92%,rgba(217,70,239,.2),transparent 72%),
      radial-gradient(ellipse 48% 38% at 50% 15%,rgba(56,189,248,.12),transparent 75%),
      linear-gradient(160deg,rgba(33,24,55,.96),rgba(12,11,24,.98))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -24px 46px rgba(6,4,18,.32),0 18px 38px rgba(5,4,12,.26)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::before {
    content:'';
    position:absolute;
    left:50%;
    top:14px;
    width:230px;
    height:2px;
    border-radius:999px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,#d946ef,#67e8f9,transparent);
    box-shadow:0 0 18px rgba(217,70,239,.5);
    opacity:.7;
    pointer-events:none;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::after {
    content:'';
    position:absolute;
    left:50%;
    bottom:46px;
    width:440px;
    height:56px;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(ellipse,rgba(247,201,72,.12),transparent 70%);
    filter:blur(8px);
    pointer-events:none;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > #plinkoCanvas {
    height:100%!important;
    min-height:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots {
    left:50%!important;
    right:auto!important;
    bottom:11px!important;
    width:min(430px,calc(100% - 28px))!important;
    height:38px!important;
    gap:5px!important;
    padding:0!important;
    transform:translateX(-50%)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot {
    border:1px solid rgba(255,255,255,.2)!important;
    border-radius:9px!important;
    background:linear-gradient(180deg,rgba(99,72,156,.9),rgba(48,35,88,.96))!important;
    color:#fff!important;
    font-size:11px!important;
    letter-spacing:.15px!important;
    text-shadow:0 1px 2px rgba(0,0,0,.45);
    box-shadow:inset 0 1px rgba(255,255,255,.2),0 6px 14px rgba(7,4,19,.28)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot:nth-child(-n+2),
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot:nth-last-child(-n+2) {
    background:linear-gradient(180deg,#f044ad,#9b2f9d)!important;
    border-color:rgba(255,188,234,.7)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.3),0 0 15px rgba(240,68,173,.28)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot:first-child,
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot:last-child {
    background:linear-gradient(180deg,#ffd86a,#d68a25)!important;
    border-color:rgba(255,242,174,.86)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.38),0 0 15px rgba(247,201,72,.28)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot.hit {
    filter:brightness(1.35)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.65),0 0 0 2px rgba(255,245,184,.92),0 0 20px rgba(247,201,72,.9),0 0 34px rgba(217,70,239,.55)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
    border-color:rgba(217,70,239,.42)!important;
    background:linear-gradient(145deg,rgba(36,27,57,.96),rgba(18,15,31,.98))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.08),0 14px 28px rgba(8,4,18,.28),0 0 22px rgba(217,70,239,.1)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-spin {
    background:linear-gradient(110deg,#f044ad,#8b5cf6 48%,#22d3ee)!important;
    background-size:180% 100%!important;
    box-shadow:0 10px 24px rgba(139,92,246,.3),inset 0 1px rgba(255,255,255,.25)!important;
  }

  /* v263 — keep the Plinko playfield transparent: only the pins, slots,
     and controls provide visual emphasis against the page background. */
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board {
    border-color:transparent!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::before,
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::after {
    display:none!important;
  }

  /* v264 — add motion and payoff feedback without bringing back a board
     background: the pins breathe, slots shimmer, and a landing ripples
     through the multiplier row. */
  @keyframes plinkoSlotPulse {
    0%,100% { filter:brightness(1) saturate(1); }
    50% { filter:brightness(1.12) saturate(1.08); }
  }
  @keyframes plinkoCanvasImpact {
    0% { filter:drop-shadow(0 0 4px rgba(167,139,250,.18)); }
    38% { filter:drop-shadow(0 0 14px rgba(247,201,72,.72)) drop-shadow(0 0 26px rgba(217,70,239,.38)); }
    100% { filter:drop-shadow(0 0 4px rgba(167,139,250,.18)); }
  }
  @keyframes plinkoSlotsImpact {
    0% { filter:brightness(1) drop-shadow(0 0 0 rgba(247,201,72,0)); }
    42% { filter:brightness(1.2) drop-shadow(0 0 16px rgba(247,201,72,.62)); }
    100% { filter:brightness(1) drop-shadow(0 0 0 rgba(247,201,72,0)); }
  }
  @keyframes plinkoBeacon {
    0%,100% { opacity:.2; transform:translateX(-50%) scaleX(.72); filter:brightness(.8); }
    50% { opacity:.88; transform:translateX(-50%) scaleX(1); filter:brightness(1.55); }
  }
  @keyframes plinkoSlotShine {
    0%,64% { opacity:0; transform:translateX(-160%) rotate(18deg); }
    72% { opacity:.72; }
    88%,100% { opacity:0; transform:translateX(380%) rotate(18deg); }
  }
  @keyframes plinkoPanelGlow {
    0%,100% { filter:drop-shadow(0 0 5px rgba(217,70,239,.08)); }
    50% { filter:drop-shadow(0 0 14px rgba(217,70,239,.22)); }
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-bankline {
    text-shadow:0 0 12px rgba(217,70,239,.24);
    animation:plinkoBanklineBreathe 4.5s ease-in-out infinite;
  }
  @keyframes plinkoBanklineBreathe {
    0%,100% { opacity:.72; }
    50% { opacity:1; text-shadow:0 0 16px rgba(103,232,249,.34); }
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > #plinkoCanvas {
    filter:drop-shadow(0 0 4px rgba(167,139,250,.18));
    transition:filter .3s ease;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::before {
    display:block!important;
    content:'';
    position:absolute;
    left:50%;
    top:13px;
    width:170px;
    height:2px;
    border-radius:999px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,#f044ad 30%,#67e8f9 70%,transparent);
    box-shadow:0 0 15px rgba(103,232,249,.42),0 0 24px rgba(240,68,173,.28);
    animation:plinkoBeacon 3.6s ease-in-out infinite;
    pointer-events:none;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board.plinko-impact > #plinkoCanvas {
    animation:plinkoCanvasImpact .76s cubic-bezier(.2,.8,.2,1);
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board.plinko-impact > .plinko-slots {
    animation:plinkoSlotsImpact .76s cubic-bezier(.2,.8,.2,1);
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot {
    position:relative;
    overflow:hidden;
    isolation:isolate;
    animation:plinkoSlotPulse 4.8s ease-in-out infinite;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot::after {
    content:'';
    position:absolute;
    top:-55%;
    bottom:-55%;
    left:-22%;
    width:34%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.68),transparent);
    transform:translateX(-160%) rotate(18deg);
    opacity:0;
    animation:plinkoSlotShine 5.4s ease-in-out infinite;
    pointer-events:none;
    z-index:2;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot:nth-child(2n) {
    animation-delay:.45s;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot:nth-child(3n) {
    animation-delay:.9s;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-spin {
    transition:transform .2s ease,filter .2s ease,box-shadow .2s ease;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-spin:not(:disabled):hover {
    transform:translateY(-2px)!important;
    filter:brightness(1.08) saturate(1.12)!important;
    box-shadow:0 12px 28px rgba(139,92,246,.42),inset 0 1px rgba(255,255,255,.3)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel > .roulette-spin:not(:disabled):active {
    transform:translateY(1px) scale(.985)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
    animation:plinkoPanelGlow 4.2s ease-in-out infinite;
  }
  @media (prefers-reduced-motion:reduce) {
    html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .roulette-bankline,
    html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::before,
    html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot,
    html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board > .plinko-slots > .plinko-slot::after,
    html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-stake-panel {
      animation:none!important;
    }
  }

  /* v253 — center the LAST 100 line vertically in the gap between the stake
     panel and the utility toolbar. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-footer {
    transform:translateY(63px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    overflow:visible!important;
  }

  /* v268 — align Blackjack's table footprint with the Mines board. The
     amount label, stake panel, and status line keep the shared Mines baseline
     instead of floating below a shorter table. */
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table {
    height:350px!important;
    min-height:350px!important;
    margin-top:4px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .pvc-label,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .starqc-stake-panel,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > #bjStatus {
    top:61px!important;
  }

  /* v269 — keep Blackjack's compact table height; only its lower controls
     follow the Mines baseline. */
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table {
    height:263px!important;
    min-height:0!important;
    margin-top:4px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .pvc-label,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .starqc-stake-panel,
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > #bjStatus {
    top:150px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .starqc-stake-panel {
    top:148px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > #bjStatus {
    top:146px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .bj-solo-table {
    transform:translateY(40px)!important;
  }

  /* v291 — the table is intentionally lowered by the compact desktop
     alignment above, so keep Blackjack's three in-round actions in the same
     coordinate system.  Without this matching offset the buttons stay at
     the table's original flow position and visibly overlap its bottom edge. */
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > #bjActions {
    transform:translateY(40px)!important;
  }

  /* v272 — classic roulette betting board.  The live round header remains
     above the controls, while the betting area follows the compact reference
     layout: quick amounts, one full-width input, then three readable columns. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
    height:auto!important;
    min-height:0!important;
    padding:18px 28px 26px!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    flex:0 0 auto!important;
    width:min(1100px,100%)!important;
    margin:0 auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    gap:10px!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    min-height:0!important;
    margin:0 auto!important;
    padding:14px 16px 16px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.25)!important;
    border-radius:12px!important;
    background:#20202b!important;
    box-shadow:inset 0 1px rgba(255,255,255,.04),0 12px 24px rgba(5,4,12,.18)!important;
    transform:none!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    order:1!important;
    display:flex!important;
    flex:0 0 auto!important;
    flex-direction:column!important;
    gap:9px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    position:static!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions {
    display:grid!important;
    grid-template-columns:repeat(9,minmax(0,1fr))!important;
    width:100%!important;
    min-height:40px!important;
    gap:0!important;
    overflow:hidden!important;
    border:1px solid rgba(196,181,253,.2)!important;
    border-radius:7px!important;
    background:rgba(255,255,255,.035)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions button {
    min-width:0!important;
    min-height:40px!important;
    height:40px!important;
    padding:0 5px!important;
    border:0!important;
    border-right:1px solid rgba(196,181,253,.13)!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(246,241,255,.78)!important;
    font:700 12px/1 'Fredoka',sans-serif!important;
    letter-spacing:0!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions button:last-child {
    border-right:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions button:hover:not(:disabled) {
    background:rgba(139,92,246,.14)!important;
    color:#fff!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions button:active:not(:disabled) {
    background:rgba(139,92,246,.24)!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bankline {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-board {
    display:flex!important;
    width:100%!important;
    min-height:56px!important;
    height:56px!important;
    margin:0!important;
    padding:0 16px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.26)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.03)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row {
    width:100%!important;
    min-height:54px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row input {
    min-width:0!important;
    height:52px!important;
    padding:0!important;
    color:#f6f1ff!important;
    text-align:left!important;
    font-size:17px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-row input::placeholder {
    color:rgba(246,241,255,.45)!important;
    opacity:1!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-board > .roulette-adjust {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-preview {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-spin {
    order:4!important;
    width:100%!important;
    min-height:44px!important;
    height:44px!important;
    margin:0!important;
    border-radius:8px!important;
    background:linear-gradient(135deg,#8b5cf6,#d946ef)!important;
    box-shadow:0 7px 18px rgba(139,92,246,.22),inset 0 1px rgba(255,255,255,.16)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame {
    order:2!important;
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:236px!important;
    height:auto!important;
    padding:8px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.18)!important;
    border-radius:9px!important;
    background:rgba(255,255,255,.025)!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-color {
    min-height:56px!important;
    height:56px!important;
    border-radius:7px!important;
    font-size:14px!important;
    letter-spacing:.1px!important;
    box-shadow:inset 0 -4px rgba(0,0,0,.14)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-color small {
    display:block!important;
    margin-top:3px!important;
    font-size:9px!important;
    opacity:.72!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column-label {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    min-height:28px!important;
    margin:8px 2px 6px!important;
    color:rgba(241,235,255,.54)!important;
    font:800 10px/1 'Fredoka',sans-serif!important;
    letter-spacing:.45px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column-label b {
    color:#f6f1ff!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column-total {
    color:#f6f1ff!important;
    font-size:13px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column-total .tg-s {
    width:12px!important;
    height:12px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bets {
    display:flex!important;
    flex:1 1 auto!important;
    min-height:90px!important;
    max-height:240px!important;
    margin-top:0!important;
    gap:5px!important;
    overflow-y:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet {
    min-height:34px!important;
    padding:7px 8px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:4px!important;
    background:rgba(255,255,255,.035)!important;
    box-shadow:none!important;
    font-size:10px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-footer {
    order:3!important;
    position:static!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin:0 auto!important;
    padding:4px 3px 0!important;
    transform:none!important;
  }
  /* Keep the reference-style controls open and frameless; the input remains
     the only focused surface inside the stake panel. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding-left:0!important;
    padding-right:0!important;
    align-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions {
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }

  /* v273 — keep STARQC's existing roulette composition and add only the
     classic quick amount row inside the centered stake frame. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) {
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
    width:1100px!important;
    max-width:1100px!important;
    min-height:100%!important;
    height:auto!important;
    margin:0 auto!important;
    padding:0 12px 18px!important;
    overflow:visible!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    width:1100px!important;
    max-width:1100px!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    position:relative!important;
    display:flex!important;
    flex:0 0 57px!important;
    width:1000px!important;
    max-width:1000px!important;
    height:57px!important;
    min-height:57px!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    position:absolute!important;
    top:526px!important;
    left:50%!important;
    z-index:6!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:9px!important;
    width:350px!important;
    max-width:350px!important;
    height:180px!important;
    min-height:180px!important;
    margin:0!important;
    padding:10px 9px 11px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.38)!important;
    border-radius:12px!important;
    background:#181622!important;
    background-image:none!important;
    box-shadow:none!important;
    transform:translateX(-50%)!important;
    overflow:hidden!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-bankline,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-preview {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    flex:0 0 30px!important;
    width:100%!important;
    min-height:30px!important;
    height:30px!important;
    gap:3px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-quick-actions {
    position:relative!important;
    z-index:2!important;
    order:0!important;
    align-self:flex-end!important;
    box-sizing:border-box!important;
    width:132px!important;
    max-width:132px!important;
    margin:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    order:1!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-spin {
    order:2!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions button {
    min-width:0!important;
    min-height:30px!important;
    height:30px!important;
    padding:0 3px!important;
    border:1px solid rgba(167,139,250,.24)!important;
    border-radius:6px!important;
    background:rgba(255,255,255,.035)!important;
    color:rgba(226,232,240,.66)!important;
    font:800 8px/1 'Fredoka',sans-serif!important;
    letter-spacing:0!important;
    box-shadow:none!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-quick-actions button:hover:not(:disabled) {
    border-color:rgba(167,139,250,.55)!important;
    color:#f6f1ff!important;
    background:rgba(139,92,246,.12)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    flex:0 0 56px!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:6px 7px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.26)!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row {
    flex:1!important;
    min-height:42px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-adjust {
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:4px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-adjust > button {
    width:30px!important;
    min-width:30px!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 3px!important;
    border:1px solid rgba(196,181,253,.22)!important;
    border-radius:7px!important;
    background:rgba(255,255,255,.035)!important;
    color:rgba(226,232,240,.78)!important;
    font:800 7px/1 'Fredoka',sans-serif!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-spin {
    display:block!important;
    position:static!important;
    flex:0 0 44px!important;
    align-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:10px!important;
    box-sizing:border-box!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame,
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    position:static!important;
    width:100%!important;
    height:55px!important;
    min-height:55px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-columns {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column {
    display:block!important;
    min-width:0!important;
    min-height:0!important;
    height:55px!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-column-label {
    display:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-footer {
    position:static!important;
    width:1100px!important;
    max-width:1100px!important;
    margin:0 auto!important;
    transform:translateY(63px)!important;
  }
  /* v274 — clear legacy offsets left on the shared roulette wrappers. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-betting {
    position:static!important;
    top:auto!important;
    left:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-colors-frame {
    top:auto!important;
    left:auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-spin {
    top:auto!important;
    left:auto!important;
  }
  /* v275 — keep LAST 100 in the live header directly above the history strip. */
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) > .roulette-masthead {
    height:254px!important;
    min-height:254px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-inline-footer {
    display:flex!important;
    position:static!important;
    flex:0 0 15px!important;
    width:1080px!important;
    max-width:1080px!important;
    height:15px!important;
    min-height:15px!important;
    margin:0!important;
    padding:0 3px!important;
    box-sizing:border-box!important;
    transform:none!important;
    z-index:2!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-inline-footer .roulette-stats {
    width:100%!important;
    height:15px!important;
    min-height:15px!important;
    justify-content:center!important;
    gap:9px!important;
    font-size:9px!important;
    line-height:15px!important;
  }
}

/* Keep the Cases utility and information panels directly under the opening
   controls instead of anchoring them to the bottom of a reserved viewport. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    grid-template-rows:none!important;
    height:max-content!important;
    min-height:0!important;
    padding-bottom:0!important;
    gap:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .cases-screen {
    order:1!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin:0 auto!important;
    align-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-toolbar {
    order:2!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin:8px auto 0!important;
    align-self:center!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .cases-screen) > .starqc-game-details {
    order:3!important;
    width:min(1100px,100%)!important;
    max-width:1100px!important;
    margin:8px auto 8px!important;
    align-self:center!important;
  }
}

/* v277 — narrow-screen cascade for the same compact quick-amount layout. */

/* v288 — Crash: keep the outer crash-bet-panel frame, remove every nested
   contour around the amount field.  This runs after the legacy Crash rules
   so only the outer panel remains framed. */
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board,
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board > .roulette-bet-row,
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board > .roulette-bet-row input {
  border:0!important;
  outline:0!important;
  border-image:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel {
  border:0!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board {
  border:1px solid rgba(196,181,253,.38)!important;
  border-radius:10px!important;
  background:transparent!important;
}

/* v290 — compact local-demo controls for the remaining standalone games */
html.theme-engine-active .local-simple-game {
  width:min(560px,100%); margin:0 auto; padding:24px 22px; box-sizing:border-box;
  display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center;
  border:1px solid rgba(196,181,253,.24); border-radius:18px;
  background:linear-gradient(145deg,rgba(38,29,61,.78),rgba(19,17,31,.88));
  box-shadow:0 16px 42px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.06);
}

/* v316 — The full-cabinet layer is the machine; live reels and controls are
   positioned inside its real reel window and physical deck. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-inline:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  position:relative!important;
  width:100%!important;
  max-width:620px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:3 / 4!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:24px!important;
  background:#090511 url('/assets/games/slots/cabinet.webp?v=2') center / 100% 100% no-repeat!important;
  box-shadow:0 18px 54px rgba(4,1,12,.72),0 0 42px rgba(215,53,219,.22)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__header {
  display:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  z-index:2!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  position:absolute!important;
  top:36.5%!important;
  right:22.8%!important;
  bottom:35.2%!important;
  left:22.8%!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:2px!important;
  padding:3px!important;
  border:0!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(8,3,18,.96),rgba(24,5,35,.94))!important;
  box-shadow:inset 0 0 20px rgba(242,59,215,.12),0 0 18px rgba(255,55,216,.2)!important;
  z-index:3!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::after {
  z-index:5!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  min-height:0!important;
  height:auto!important;
  border-inline:1px solid rgba(255,55,218,.18)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 24% 76%,rgba(0,0,0,.18))!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art { width:70%!important; height:70%!important; mix-blend-mode:screen!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__asset { mix-blend-mode:normal!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:25.5%!important;
  right:10.5%!important;
  bottom:27.5%!important;
  left:10.5%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:none!important;
  content:none!important;
  background:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lights,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__lever { display:none!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
  position:absolute!important;
  top:70.5%!important;
  right:9%!important;
  bottom:1.8%!important;
  left:9%!important;
  z-index:6!important;
  display:grid!important;
  align-content:start!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__stats { gap:4px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card {
  min-width:0!important;
  padding:6px 8px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.78)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-stat-card strong { font-size:clamp(11px,1.5vw,16px)!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls { grid-template-columns:minmax(0,1fr) 92px!important; gap:4px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-panel,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-panel {
  padding:6px!important;
  border-color:rgba(255,194,255,.18)!important;
  border-radius:9px!important;
  background:rgba(16,7,28,.82)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bet-box { gap:3px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-mini-btn,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-chip-btn {
  min-width:28px!important;
  min-height:28px!important;
  padding:0 6px!important;
  border-radius:7px!important;
  font-size:10px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-spin-button { min-height:58px!important; border-radius:11px!important; font-size:clamp(12px,2vw,18px)!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-result-bar { min-height:14px!important; padding:2px 6px!important; border-radius:6px!important; font-size:9px!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-note,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-bonus-panel { display:none!important; }
@media (max-width:560px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap { width:calc(100% - 12px)!important; }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console { right:7%!important; left:7%!important; }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console__controls { grid-template-columns:minmax(0,1fr) 78px!important; }
}
html.theme-engine-active .local-simple-badge { color:#8ee7e0; font:800 9px/1 'Fredoka',sans-serif; letter-spacing:1.2px; text-transform:uppercase; }
html.theme-engine-active .local-simple-game h2 { margin:0; color:#fff; font:900 22px/1.1 'Fredoka',sans-serif; }
html.theme-engine-active .local-simple-game p { margin:0; color:rgba(255,255,255,.52); font-size:12px; }
html.theme-engine-active .local-simple-result { min-height:42px; width:100%; box-sizing:border-box; display:flex; align-items:center; justify-content:center; padding:10px 14px; border-radius:12px; color:rgba(255,255,255,.66); background:rgba(255,255,255,.045); font:800 13px/1.35 'Fredoka',sans-serif; }
html.theme-engine-active .local-simple-result.win { color:#b7f7d0; background:rgba(34,197,94,.14); }
html.theme-engine-active .local-simple-result.draw { color:#ffe5a4; background:rgba(251,191,36,.12); }
html.theme-engine-active .local-simple-result.loss { color:#ff9caf; background:rgba(239,68,68,.1); }
html.theme-engine-active .local-simple-stake { width:min(360px,100%); }
html.theme-engine-active .local-simple-options { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
html.theme-engine-active .local-simple-options button, html.theme-engine-active .local-simple-primary { border:1px solid rgba(196,181,253,.28); border-radius:12px; min-height:58px; color:#fff; background:linear-gradient(135deg,rgba(124,58,237,.78),rgba(219,39,119,.72)); font:800 13px 'Fredoka',sans-serif; cursor:pointer; transition:transform .16s,filter .16s; }
html.theme-engine-active .local-simple-options button:hover, html.theme-engine-active .local-simple-primary:hover { filter:brightness(1.12); transform:translateY(-1px); }
html.theme-engine-active .local-simple-options button span { display:block; margin-top:4px; font-size:10px; }
html.theme-engine-active .local-simple-primary { width:100%; padding:13px 18px; }
html.theme-engine-active .local-simple-note { color:rgba(255,255,255,.28); font-size:10px; line-height:1.4; }
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board::before,
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board::after,
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board > .roulette-bet-row::before,
html.theme-engine-active #gameOverlay #gameArea #crashGame > .crash-bet-panel > .roulette-board > .roulette-bet-row::after {
  content:none!important;
  display:none!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:26px 38px!important;
    align-items:center!important;
    column-gap:5px!important;
    row-gap:4px!important;
    width:100%!important;
    min-height:82px!important;
    height:82px!important;
    padding:6px!important;
    box-sizing:border-box!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions {
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    gap:3px!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button {
    min-width:0!important;
    height:26px!important;
    min-height:26px!important;
    padding:0 2px!important;
    border:1px solid rgba(167,139,250,.3)!important;
    border-radius:6px!important;
    background:rgba(139,92,246,.08)!important;
    color:rgba(246,241,255,.78)!important;
    font:800 9px/1 'Fredoka',sans-serif!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row {
    grid-column:1!important;
    grid-row:2!important;
    width:auto!important;
    min-width:0!important;
    min-height:38px!important;
    height:38px!important;
    padding:0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row input {
    height:36px!important;
    min-height:36px!important;
    padding:0!important;
    font-size:16px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-adjust {
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    gap:3px!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
  }
}

/* Final Plinko cleanup: suppress the board beacon and glow layers. */
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::before,
html.theme-engine-active #gameOverlay #gameArea > .plinko-game:not(.cases-screen) > .plinko-betting > .plinko-board::after,
html.theme-engine-active #gameArea > .plinko-game > .plinko-betting > .plinko-board::before,
html.theme-engine-active #gameArea > .plinko-game > .plinko-betting > .plinko-board::after {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
  animation:none!important;
}

/* v276 — final cascade: keep Roulette's quick amounts in the same framed
   amount board as the value field. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame {
    height:176px!important;
    min-height:176px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:28px 42px!important;
    align-items:center!important;
    column-gap:6px!important;
    row-gap:5px!important;
    flex:0 0 94px!important;
    width:100%!important;
    height:94px!important;
    min-height:94px!important;
    margin:0!important;
    padding:6px 7px 7px!important;
    box-sizing:border-box!important;
    border:1px solid rgba(196,181,253,.3)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.025)!important;
    box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions {
    grid-column:1 / -1!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-self:stretch!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    gap:4px!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button {
    min-width:0!important;
    width:100%!important;
    height:28px!important;
    min-height:28px!important;
    padding:0 4px!important;
    border:1px solid rgba(167,139,250,.34)!important;
    border-radius:7px!important;
    background:linear-gradient(180deg,rgba(139,92,246,.12),rgba(255,255,255,.035))!important;
    color:rgba(246,241,255,.82)!important;
    font:800 10px/1 'Fredoka',sans-serif!important;
    letter-spacing:0!important;
    box-shadow:inset 0 1px rgba(255,255,255,.05)!important;
    transform:none!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button:hover:not(:disabled) {
    border-color:rgba(210,178,255,.72)!important;
    background:linear-gradient(180deg,rgba(168,85,247,.28),rgba(139,92,246,.12))!important;
    color:#fff!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-quick-actions > button:active:not(:disabled) {
    background:rgba(139,92,246,.3)!important;
    transform:translateY(1px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row {
    grid-column:1!important;
    grid-row:2!important;
    align-self:stretch!important;
    width:auto!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-bet-row input {
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    padding:0!important;
    font-size:17px!important;
    text-align:left!important;
  }
  html.theme-engine-active #gameOverlay #gameArea > .roulette-game:not(.plinko-game):not(.cases-screen) .roulette-bet-frame > .roulette-board > .roulette-adjust {
    grid-column:2!important;
    grid-row:2!important;
    display:flex!important;
    align-items:center!important;
    align-self:stretch!important;
    gap:4px!important;
    height:42px!important;
    min-height:42px!important;
    margin:0!important;
  }
}

/* v320-anchor */
/* v296 — Slots keeps its bonus/paytable information and game utility toolbar
   in normal document flow. They sit after the cabinet instead of overlaying
   the reels or being clipped to the first viewport. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  padding-bottom:24px!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo {
  order:1!important;
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:stretch!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-toolbar {
  order:2!important;
  display:flex!important;
  position:relative!important;
  align-self:center!important;
  width:min(1100px,calc(100% - 76px))!important;
  margin:18px auto 8px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-details {
  order:3!important;
  position:relative!important;
  align-self:center!important;
  margin:8px auto 28px!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-layout {
  grid-template-columns:minmax(0,1fr)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-sidebar {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media (max-width:760px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .starqc-game-toolbar {
    width:calc(100% - 20px)!important;
    margin:16px auto 8px!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) .slots-sidebar {
    grid-template-columns:1fr!important;
  }
}

/* v320-final: 11.png supplies the chrome frame; only the live DOM reels render inside it. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:35.5%!important;
  right:21.5%!important;
  bottom:34.5%!important;
  left:21.5%!important;
  z-index:1!important;
  border-radius:8px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,70,220,.12),transparent 38%),
    linear-gradient(180deg,#10051c 0%,#160620 50%,#09030f 100%)!important;
  box-shadow:inset 0 0 30px rgba(0,0,0,.72)!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:25.5%!important;
  right:10.5%!important;
  bottom:27.5%!important;
  left:10.5%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}

/* v321: build the three visible reels from the supplied single-cylinder asset. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  background-color:transparent!important;
  background-image:url('/assets/games/slots/cabinet-hq.png?v=1')!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  gap:0!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  position:relative!important;
  display:grid!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:
    linear-gradient(90deg,rgba(5,1,16,.64),rgba(50,10,76,.18) 50%,rgba(5,1,16,.64)),
    url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 100% no-repeat!important;
  box-shadow:
    inset 18px 0 18px rgba(3,0,12,.52),
    inset -18px 0 18px rgba(3,0,12,.52),
    inset 0 0 14px rgba(255,36,224,.2)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window + .slots-reel-window {
  border-left:1px solid rgba(255,62,222,.66)!important;
  border-right:1px solid rgba(125,54,255,.48)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  min-height:0!important;
  height:auto!important;
  border:0!important;
  border-bottom:1px solid rgba(255,168,255,.16)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.1),transparent 18%,transparent 78%,rgba(0,0,0,.38)),
    radial-gradient(ellipse at 50% 48%,rgba(255,36,224,.12),transparent 70%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.08),inset 0 -8px 14px rgba(3,0,12,.22)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell:last-child { border-bottom:0!important; }
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:90%!important;
  height:90%!important;
  z-index:1!important;
  mix-blend-mode:screen!important;
  filter:drop-shadow(0 0 7px rgba(255,36,224,.6))!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__asset {
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before { z-index:4!important; }

/* v324: keep the supplied cabinet source intact; the live viewport is layered above it. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  background-image:url('/assets/games/slots/cabinet-hq.png?v=1')!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* v325: keep the physical cabinet unobstructed; controls live below it. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
  position:relative!important;
  overflow:visible!important;
  padding-bottom:clamp(224px,28vw,250px)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  overflow:visible!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
  top:calc(100% + 14px)!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100%!important;
  z-index:8!important;
}
@media (max-width:560px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine-wrap {
    padding-bottom:clamp(224px,45vw,250px)!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-console {
    right:2%!important;
    left:2%!important;
    width:96%!important;
  }
}

/* v326: keep the supplied cabinet PNG untouched; mask only the live reel viewport. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  background-image:url('/assets/games/slots/cabinet-hq.png?v=1')!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:35.5%!important;
  right:21.5%!important;
  bottom:34.5%!important;
  left:21.5%!important;
  z-index:1!important;
  border-radius:8px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(255,70,220,.12),transparent 38%),
    linear-gradient(180deg,#10051c 0%,#160620 50%,#09030f 100%)!important;
  box-shadow:inset 0 0 30px rgba(0,0,0,.72)!important;
  pointer-events:none!important;
}

/* v327: the cabinet already contains its own chrome frame. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* v328: make each individual reel cylinder visible behind its live symbols. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  isolation:isolate!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:-3% -12%!important;
  z-index:0!important;
  background:url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 125% no-repeat!important;
  opacity:.82!important;
  mix-blend-mode:screen!important;
  pointer-events:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window > .slots-cell {
  z-index:1!important;
}

/* v329: reveal the chrome surface instead of burying it under opaque cell shading. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  inset:-7% -20%!important;
  background-size:auto 145%!important;
  opacity:.98!important;
  filter:brightness(1.3) saturate(1.25)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  background:
    linear-gradient(90deg,rgba(5,1,16,.24),rgba(50,10,76,.08) 50%,rgba(5,1,16,.24)),
    url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 100% no-repeat!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 18%,transparent 82%,rgba(0,0,0,.14)),
    radial-gradient(ellipse at 50% 48%,rgba(255,36,224,.08),transparent 70%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.06),inset 0 -8px 14px rgba(3,0,12,.1)!important;
}

/* v330: shape the three reels like the supplied curved chrome cylinders. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  background:
    linear-gradient(90deg,rgba(5,1,16,.16),rgba(50,10,76,.04) 50%,rgba(5,1,16,.16)),
    url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / 100% 100% no-repeat!important;
  box-shadow:
    inset 12px 0 18px rgba(255,36,224,.3),
    inset -12px 0 18px rgba(123,43,255,.3),
    inset 0 0 14px rgba(255,36,224,.18)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  inset:0!important;
  background-size:100% 100%!important;
  opacity:.58!important;
  filter:brightness(1.7) saturate(1.35) contrast(1.08)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  border-bottom:1px solid rgba(255,168,255,.08)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),transparent 20%,transparent 84%,rgba(0,0,0,.08)),
    radial-gradient(ellipse at 50% 48%,rgba(255,36,224,.05),transparent 70%)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04),inset 0 -8px 14px rgba(3,0,12,.05)!important;
}

/* v331: the cabinet asset is already transparent around its silhouette. Avoid
   a rectangular element shadow and keep the page in the same near-black plum
   palette as the original render. The reel underlay is clipped to the live
   3x3 viewport, with no extra black frame or inset vignette. */
html.theme-engine-active:has(#gameOverlay.show #gameArea > .slots-ui--neo) body,
html.theme-engine-active:has(#gameOverlay.show #gameArea > .slots-ui--neo) .phone,
html.theme-engine-active:has(#gameOverlay.show #gameArea > .slots-ui--neo) #mainContent,
html.theme-engine-active:has(#gameOverlay.show #gameArea > .slots-ui--neo) #gameOverlay {
  background:
    radial-gradient(ellipse 38% 64% at 50% 42%,rgba(105,28,137,.2),transparent 70%),
    linear-gradient(180deg,#0d0716 0%,#07040d 56%,#030207 100%)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine {
  box-shadow:none!important;
  filter:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::after {
  top:36.5%!important;
  right:22.8%!important;
  bottom:35.2%!important;
  left:22.8%!important;
  border-radius:7px!important;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(255,57,220,.13),transparent 58%),
    linear-gradient(180deg,#2c103d 0%,#24102f 52%,#160b22 100%)!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  background:
    linear-gradient(180deg,rgba(93,31,105,.86),rgba(47,15,65,.9) 48%,rgba(27,10,40,.94))!important;
  box-shadow:none!important;
  isolation:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels {
  isolation:auto!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell::after,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels::after {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* v334: preserve the chrome cylinders without the black tile effect. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels {
  gap:1px!important;
  padding:0!important;
  background:
    url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  opacity:.5!important;
  filter:brightness(2.05) saturate(1.32) contrast(1.02)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  background:
    linear-gradient(180deg,rgba(88,26,92,.78),rgba(47,13,62,.84) 48%,rgba(28,8,40,.88))!important;
  border-inline:1px solid rgba(255,62,221,.3)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:92%!important;
  height:102%!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  background-color:#24102f!important;
  background-image:url('/assets/games/slots/reels-frame.png?v=1')!important;
  background-position:center!important;
  background-size:100% 100%!important;
  background-repeat:no-repeat!important;
  background-blend-mode:screen!important;
}

/* v339: match the supplied 11.png reel window while keeping the symbols live.
   The PNG is a visual reference for the chrome; its baked symbols must not be
   painted under the DOM cells or they would appear twice after every spin. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels {
  gap:0!important;
  padding:0!important;
  background-color:transparent!important;
  background-image:none!important;
  background-blend-mode:normal!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::before,
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone > .slots-reels::after {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  background:
    linear-gradient(90deg,rgba(255,44,222,.15),rgba(83,21,111,.34) 10%,rgba(27,8,43,.38) 50%,rgba(83,21,111,.34) 90%,rgba(255,44,222,.15)),
    linear-gradient(180deg,#331044 0%,#21102f 48%,#160a22 100%)!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:block!important;
  inset:-3% -18%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 118% no-repeat!important;
  opacity:.96!important;
  mix-blend-mode:lighten!important;
  filter:brightness(1.18) saturate(1.3) contrast(1.06)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(255,39,218,.9) 0 1px,rgba(255,55,226,.25) 1px 5px,transparent 5px calc(100% - 5px),rgba(255,55,226,.25) calc(100% - 5px) calc(100% - 1px),rgba(255,39,218,.9) calc(100% - 1px) 100%),
    linear-gradient(180deg,transparent 0 32.5%,rgba(255,80,227,.2) 33% 33.6%,transparent 33.6% 65.8%,rgba(255,80,227,.2) 66.2% 66.8%,transparent 66.8% 100%)!important;
  mix-blend-mode:screen!important;
  opacity:.9!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  border:0!important;
  background:
    linear-gradient(180deg,rgba(112,33,124,.96),rgba(61,17,80,.96) 46%,rgba(34,10,50,.98))!important;
  box-shadow:none!important;
  z-index:1!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  width:96%!important;
  height:108%!important;
}

/* v351: keep Blackjack's stake group aligned with the higher Mines controls
   on desktop while preserving the internal label, panel and action spacing. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea > .bj-solo:not(.cases-screen) > .pvc-label {
    margin-top:-30px!important;
  }
}

/* v352: keep the Blackjack bet action visible after starting and center the
   status copy across the stake panel width. */
html.theme-engine-active #gameOverlay #gameArea > .bj-solo #bjStartAction > #bjStartBtn {
  display:block!important;
}
html.theme-engine-active #gameOverlay #gameArea > .bj-solo #bjStatus {
  width:100%!important;
  text-align:center!important;
}

/* v343: use only the chrome ring from 11.png; the center stays live DOM. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:block!important;
  content:''!important;
  position:absolute!important;
  top:36.35%!important;
  right:22.55%!important;
  bottom:35.05%!important;
  left:22.55%!important;
  z-index:4!important;
  padding:5px!important;
  background:url('/assets/games/slots/reels-frame.png?v=1') center / 100% 100% no-repeat!important;
  mix-blend-mode:screen!important;
  opacity:.78!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  mask-composite:exclude!important;
  pointer-events:none!important;
}

/* v344: continuous chrome cylinders, with live symbols composited above them.
   The cell backgrounds stay transparent so the reel surface never becomes a
   grid of opaque black/purple tiles. */
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-machine__reels-zone::before {
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
  mask:none!important;
  -webkit-mask:none!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reels {
  gap:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window {
  background:
    linear-gradient(90deg,
      #170521 0%,
      rgba(255,39,221,.42) 1.2%,
      rgba(148,35,163,.45) 3.5%,
      rgba(45,10,62,.88) 11%,
      rgba(107,31,126,.52) 28%,
      rgba(31,7,46,.94) 50%,
      rgba(107,31,126,.52) 72%,
      rgba(45,10,62,.88) 89%,
      rgba(148,35,163,.45) 96.5%,
      rgba(255,39,221,.42) 98.8%,
      #170521 100%),
    linear-gradient(180deg,#4a125c 0%,#2b0b3b 38%,#1b0628 68%,#350b48 100%)!important;
  box-shadow:
    inset 0 0 20px rgba(255,39,221,.15),
    inset 14px 0 18px rgba(255,39,221,.1),
    inset -14px 0 18px rgba(118,40,255,.12)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::before {
  display:block!important;
  inset:-3% -14%!important;
  z-index:2!important;
  background:url('/assets/games/slots/reel-cylinder-hq.png?v=1') center / auto 118% no-repeat!important;
  opacity:.78!important;
  mix-blend-mode:screen!important;
  filter:brightness(1.34) saturate(1.32) contrast(1.08)!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-reel-window::after {
  display:block!important;
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(255,44,224,.96) 0 1px,
      rgba(255,65,226,.34) 1px 5px,
      transparent 5px calc(100% - 5px),
      rgba(255,65,226,.34) calc(100% - 5px) calc(100% - 1px),
      rgba(255,44,224,.96) calc(100% - 1px) 100%),
    linear-gradient(180deg,
      transparent 0 32.4%,
      rgba(255,115,236,.2) 32.8% 33.4%,
      rgba(255,255,255,.055) 33.4% 34%,
      transparent 34% 65.8%,
      rgba(255,115,236,.2) 66.2% 66.8%,
      rgba(255,255,255,.055) 66.8% 67.4%,
      transparent 67.4% 100%)!important;
  mix-blend-mode:screen!important;
  opacity:.92!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell {
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(255,128,237,.11)!important;
  box-shadow:none!important;
  z-index:1!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell:last-child {
  border-bottom:0!important;
}
html.theme-engine-active #gameOverlay #gameArea:has(> .slots-ui--neo) > .slots-ui--neo .slots-cell__art {
  position:relative!important;
  z-index:5!important;
  width:100%!important;
  height:110%!important;
  filter:drop-shadow(0 0 7px rgba(255,36,224,.64))!important;
}

/* Keep Mine Slot's information card and utility bar aligned with its 6px frame. */
#gameOverlay #gameArea:has(> .mine-slot-game) > .starqc-game-details,
#gameOverlay #gameArea:has(> .mine-slot-game) > .starqc-game-toolbar {
  border-radius:6px!important;
}

/* Keep Mine Slot's details panel nearby without viewport-sized empty gaps. */
@media (min-width:900px) {
  html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)):not(:has(> .game-preview)):has(> .mine-slot-game) {
    grid-template-rows:minmax(0,min(1014px,calc(100vh - 104px))) auto!important;
    grid-template-rows:minmax(0,min(1014px,calc(100dvh - 104px))) auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .mine-slot-game) > .starqc-game-toolbar {
    margin:0 auto!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .mine-slot-game) > .starqc-game-details {
    margin-top:21px!important;
  }
}
@media (max-width:899px) {
  html.theme-engine-active #gameOverlay #gameArea:has(> .mine-slot-game) > .starqc-game-toolbar {
    margin:16px auto 0!important;
  }
  html.theme-engine-active #gameOverlay #gameArea:has(> .mine-slot-game) > .starqc-game-details {
    margin-top:21px!important;
  }
}

/* Keep Mine Slot's play area from creating a nested scroll bar. */
html.theme-engine-active #gameOverlay #gameArea:not(:has(> .cases-screen)):not(:has(> .game-preview)):has(> .mine-slot-game) {
  overflow:visible!important;
  overflow-x:clip!important;
}

/* The desktop game overlay is fixed and owns its scroll. Lock the document
   beneath Mine Slot so the page does not expose a second scrollbar. */
@media (min-width:900px) {
  html.theme-engine-active:has(#gameOverlay.show #gameArea > .mine-slot-game),
  html.theme-engine-active:has(#gameOverlay.show #gameArea > .mine-slot-game) body {
    overflow-y:hidden!important;
  }
}

/* The toolbar expand control uses native fullscreen, with a viewport fallback
   for embedded browsers that do not expose the Fullscreen API. */
#gameOverlay:fullscreen,
html:fullscreen #gameOverlay,
html.starqc-fullscreen-fallback #gameOverlay {
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border-radius:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  animation:none!important;
  transition:none!important;
  transform:none!important;
  z-index:2900!important;
}
html:fullscreen body:has(#gameOverlay.show) .modal-overlay,
html.starqc-fullscreen-fallback body:has(#gameOverlay.show) .modal-overlay {
  position:fixed!important;
  inset:0!important;
  z-index:3000!important;
}
html:fullscreen body:has(#gameOverlay.show) .rules-popup,
html.starqc-fullscreen-fallback body:has(#gameOverlay.show) .rules-popup { z-index:3001!important; }
html:fullscreen body:has(#gameOverlay.show) .toast,
html.starqc-fullscreen-fallback body:has(#gameOverlay.show) .toast { z-index:3002!important; }

/* Mine Slot fullscreen is a true edge-to-edge 16:9 play surface. */
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game),
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game),
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  padding:0!important;
  overflow:hidden!important;
  background:#111018!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) > .game-header,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) > .game-header,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) > .game-header,
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) > .starqc-game-toolbar,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) > .starqc-game-toolbar,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) > .starqc-game-toolbar,
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) #gameArea > .starqc-game-toolbar,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea > .starqc-game-toolbar,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea > .starqc-game-toolbar,
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) #gameArea > .starqc-game-details,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea > .starqc-game-details,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea > .starqc-game-details {
  display:none!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) #gameArea,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea {
  display:grid!important;
  flex:1 1 auto!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  place-items:center!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#111018!important;
  box-shadow:none!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) #gameArea > .mine-slot-game,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea > .mine-slot-game,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) #gameArea > .mine-slot-game {
  width:min(100vw,177.777778vh)!important;
  width:min(100vw,177.777778dvh)!important;
  height:min(100vh,56.25vw)!important;
  height:min(100dvh,56.25vw)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100vw!important;
  max-height:100dvh!important;
  aspect-ratio:16 / 9!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
}
.starqc-game-fullscreen-exit {
  display:none!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .starqc-game-fullscreen-exit,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .starqc-game-fullscreen-exit,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .starqc-game-fullscreen-exit {
  position:fixed!important;
  z-index:2901!important;
  left:max(12px,env(safe-area-inset-left))!important;
  bottom:max(12px,env(safe-area-inset-bottom))!important;
  display:grid!important;
  place-items:center!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:50%!important;
  background:rgba(32,42,61,.78)!important;
  color:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.28)!important;
  cursor:pointer!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .starqc-game-fullscreen-exit svg,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .starqc-game-fullscreen-exit svg,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .starqc-game-fullscreen-exit svg {
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.5!important;
  stroke-linecap:round!important;
}

/* Rebalance Mine Slot's native controls for the larger 16:9 fullscreen stage. */
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-menu,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-menu,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-menu {
  top:clamp(14px,2.2vh,30px)!important;
  right:clamp(16px,2vw,40px)!important;
  width:clamp(52px,4vw,74px)!important;
  height:clamp(52px,4vw,74px)!important;
  gap:clamp(5px,.45vw,8px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-menu span,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-menu span,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-menu span {
  width:clamp(25px,2.1vw,36px)!important;
  height:2px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-paytable,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-paytable,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-paytable {
  top:clamp(82px,9vh,118px)!important;
  right:clamp(16px,2vw,40px)!important;
  width:min(520px,calc(100vw - 40px))!important;
  padding:clamp(12px,1.2vw,20px)!important;
  gap:clamp(8px,.8vw,14px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-paytable-title,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-paytable-title,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-paytable-title {
  font-size:clamp(15px,1.1vw,20px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-pay-item,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-pay-item,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-pay-item {
  min-height:clamp(66px,7vh,92px)!important;
  font-size:clamp(9px,.7vw,13px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-pay-item img,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-pay-item img,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-pay-item img {
  width:clamp(34px,3vw,54px)!important;
  height:clamp(32px,2.8vw,50px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-reel-frame,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-reel-frame,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-reel-frame {
  max-width:calc(100% - 32px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-glyph img,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-glyph img,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-glyph img {
  width:min(78%,112px)!important;
  height:min(76%,112px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-glyph.word,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-glyph.word,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-glyph.word {
  font-size:clamp(9px,.9vw,17px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-message,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-message,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-message {
  max-width:min(720px,90vw)!important;
  padding:clamp(9px,.8vw,14px) clamp(12px,1.2vw,20px)!important;
  font-size:clamp(11px,.9vw,16px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-free-spins,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-free-spins,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-free-spins {
  top:clamp(112px,14vh,190px)!important;
  left:calc(50% + var(--ms-frame-half-width,175px) + clamp(12px,1.5vw,24px))!important;
  padding:clamp(7px,.65vw,11px) clamp(9px,.8vw,14px)!important;
  font-size:clamp(10px,.85vw,15px)!important;
  transform:none!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy {
  --ms-buy-width:clamp(104px,9.3vw,178px);
  left:max(12px,calc(50% - var(--ms-frame-half-width,175px) - var(--ms-buy-width) - clamp(16px,1.5vw,24px)))!important;
  top:43%!important;
  width:var(--ms-buy-width)!important;
  min-height:clamp(112px,13vh,158px)!important;
  padding:clamp(7px,.8vw,12px)!important;
  font-size:clamp(11px,.9vw,16px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-buy-art,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-buy-art,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-buy-art {
  width:clamp(42px,3.8vw,70px)!important;
  height:clamp(42px,3.8vw,70px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy small,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy small,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy small {
  font-size:clamp(9px,.7vw,13px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bottom,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bottom,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bottom {
  left:50%!important;
  right:auto!important;
  bottom:clamp(22px,3.5vh,40px)!important;
  width:min(686px,calc(100% - 64px))!important;
  min-height:118px!important;
  grid-template-columns:minmax(0,144px) minmax(0,130px) 224px 82px 82px!important;
  gap:6px!important;
  transform:translateX(-50%)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-stat,
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-win,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win {
  min-height:82px!important;
  padding:12px 10px!important;
  font-size:clamp(12px,.9vw,16px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-stat b,
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-win b,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat b,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win b,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat b,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win b {
  font-size:clamp(15px,1vw,18px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet {
  width:min(100%, 224px)!important;
  justify-self:center!important;
  min-height:82px!important;
  gap:6px!important;
  padding:6px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet-value,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-value,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-value {
  gap:6px!important;
  padding:0 4px!important;
  border:2px solid rgba(208,221,226,.18)!important;
  border-radius:10px!important;
  box-shadow:2px 3px 0 rgba(34,37,34,.44)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet-star,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-star,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-star {
  flex-basis:20px!important;
  width:20px!important;
  height:20px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet-currency,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-currency,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-currency {
  align-self:flex-end!important;
  margin-bottom:5px!important;
  transform:translateY(-9px)!important;
  color:rgba(233,213,255,.72)!important;
  font:700 10px/1 'Fredoka',sans-serif!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet button,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet button,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet button {
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  font-size:16px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet input,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet input,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet input {
  width:clamp(48px,4vw,64px)!important;
  min-height:48px!important;
  font-size:clamp(16px,1.1vw,20px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-spin,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-spin,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-spin {
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  border-radius:10px!important;
  font-size:36px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-auto,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-auto,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-auto {
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  border-radius:10px!important;
  font-size:22px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-hint,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-hint,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-hint {
  bottom:-14px!important;
  font-size:clamp(8px,.65vw,11px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-counters,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-counters,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-counters {
  gap:8px!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-chests,
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-depth,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-chests,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-depth,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-chests,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-depth {
  padding:8px 12px!important;
  font-size:clamp(9px,.7vw,12px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-big-win__title,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-big-win__title,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-big-win__title {
  font-size:clamp(64px,9vw,190px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-big-win__payout,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-big-win__payout,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-big-win__payout {
  width:min(72%,760px)!important;
  min-height:clamp(84px,11vh,148px)!important;
}
#gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-big-win__payout span,
html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-big-win__payout span,
html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-big-win__payout span {
  font-size:clamp(32px,5vw,96px)!important;
}

@media (max-width:899px) {
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bottom,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bottom,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bottom {
    bottom:8px!important;
    width:calc(100% - 20px)!important;
    min-height:70px!important;
    grid-template-columns:minmax(70px,.9fr) minmax(64px,.8fr) minmax(150px,1.8fr) 42px 42px!important;
    gap:4px!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-stat,
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-win,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win {
    min-height:54px!important;
    padding:6px 8px!important;
    font-size:clamp(8px,1.25vw,11px)!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-stat b,
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-win b,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat b,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win b,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-stat b,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-win b {
    font-size:clamp(11px,1.7vw,15px)!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet {
    grid-column:auto!important;
    grid-row:auto!important;
    width:min(100%, 224px)!important;
    justify-self:center!important;
    min-height:58px!important;
    gap:4px!important;
    padding:4px!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet-value,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-value,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-value {
    border:1px solid rgba(208,221,226,.18)!important;
    border-radius:7px!important;
    box-shadow:2px 3px 0 rgba(34,37,34,.44)!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet button,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet button,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet button {
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    font-size:16px!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet input,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet input,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet input {
    width:clamp(42px,9vw,64px)!important;
    min-height:44px!important;
    font-size:clamp(14px,1.7vw,16px)!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-spin,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-spin,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-spin {
    grid-column:auto!important;
    grid-row:auto!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    font-size:27px!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-auto,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-auto,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-auto {
    grid-column:auto!important;
    grid-row:auto!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    font-size:16px!important;
  }
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bonus-buy {
    min-height:96px!important;
  }
}

@media (max-width:700px) {
  #gameOverlay:fullscreen:has(#gameArea > .mine-slot-game) .mine-slot-bet-value,
  html:fullscreen #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-value,
  html.starqc-fullscreen-fallback #gameOverlay:has(#gameArea > .mine-slot-game) .mine-slot-bet-value {
    border-width:1px!important;
    border-radius:7px!important;
  }
}
