/* ReelQuanta shared cabinet multi-fix — 2026-07-28
   Loaded after every title skin and master shell. */

/* ---------- Stable normal/win action matrix ---------- */
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-shell-normalized:not(.rq-gamble-inline-controls){
  position:static!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:4px!important;
  overflow:hidden!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-shell-normalized:not(.rq-gamble-inline-controls):not(.rq-win-ready){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-shell-normalized:not(.rq-gamble-inline-controls).rq-win-ready{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls) [data-rq-role]{
  position:relative!important;
  grid-row:1!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls):not(.rq-win-ready) :is([data-rq-role="max-bet"],[data-rq-role="auto"],[data-rq-role="spin"]),
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls).rq-win-ready :is([data-rq-role="collect"],[data-rq-role="ladder"],[data-rq-role="cards"],[data-rq-role="spin"]){
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls):not(.rq-win-ready) :is([data-rq-role="collect"],[data-rq-role="ladder"],[data-rq-role="cards"]),
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls).rq-win-ready :is([data-rq-role="max-bet"],[data-rq-role="auto"]){
  display:none!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls):not(.rq-win-ready) [data-rq-role="max-bet"]{grid-column:1!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls):not(.rq-win-ready) [data-rq-role="auto"]{grid-column:2!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls):not(.rq-win-ready) [data-rq-role="spin"]{grid-column:3!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls).rq-win-ready [data-rq-role="collect"]{grid-column:1!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls).rq-win-ready [data-rq-role="ladder"]{grid-column:2!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls).rq-win-ready [data-rq-role="cards"]{grid-column:3!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls:not(.rq-gamble-inline-controls).rq-win-ready [data-rq-role="spin"]{grid-column:4!important}

/* ---------- Dedicated, always-clickable ladder controls ---------- */
.rq-ladder-inline-actions[hidden],.rq-ladder-inline-actions[aria-hidden="true"]{display:none!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls{
  grid-template-columns:minmax(48px,.72fr) minmax(82px,1fr) minmax(90px,1.18fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  grid-auto-flow:column!important;
  gap:4px!important;
  pointer-events:auto!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls > [data-rq-role]{
  display:none!important;
  pointer-events:none!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls > .rq-ladder-inline-actions:not([hidden]){display:contents!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-ladder-inline-actions > button{
  position:relative!important;
  z-index:30!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:4px!important;
  border-radius:7px!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  cursor:pointer!important;
  opacity:1!important;
  filter:none!important;
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-ladder-inline-actions > button:disabled{
  pointer-events:none!important;opacity:.62!important;cursor:wait!important
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-inline-split{
  grid-column:1!important;border-color:#73d7ff!important;background:linear-gradient(#264b73,#13283f 58%,#091624)!important;color:#eafaff!important
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-inline-play{
  grid-column:2!important;border-color:#ffe17a!important;background:linear-gradient(#ffc72b,#e18708 58%,#8e4100)!important;color:#fff9dd!important;box-shadow:inset 0 2px rgba(255,255,255,.32),0 0 14px rgba(255,184,46,.28)!important
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-inline-collect{
  grid-column:3!important;border-color:#a2f7b0!important;background:linear-gradient(#34d45b,#108a31 58%,#07561e)!important;color:#effff2!important;box-shadow:inset 0 2px rgba(255,255,255,.3),0 0 14px rgba(65,226,103,.24)!important
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-ladder-inline-actions svg{
  width:min(48%,46px)!important;height:min(56%,46px)!important;margin:0!important;fill:none!important;stroke:currentColor!important;stroke-width:4!important;stroke-linecap:round!important;stroke-linejoin:round!important
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-action-controls.rq-gamble-inline-controls .rq-ladder-inline-actions span{
  display:block!important;font-size:clamp(.5rem,.7vw,.76rem)!important;line-height:1!important;font-weight:1000!important;letter-spacing:.07em!important;white-space:nowrap!important
}

/* ---------- Free spins swap into the large WIN area ---------- */
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-free-detail-hidden{display:none!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-win-main.rq-win-swap-host{position:relative!important;isolation:isolate!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-win-feature-swap{
  position:absolute!important;inset:0!important;z-index:8!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.45em!important;background:inherit!important;opacity:0!important;transform:translateY(7px) scale(.97)!important;pointer-events:none!important;transition:opacity .28s ease,transform .28s ease!important
}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-win-feature-swap span{font-size:clamp(.68rem,1.25vw,1.14rem)!important;font-weight:1000!important;letter-spacing:.06em!important;color:#86ebff!important;text-shadow:0 0 12px rgba(82,218,255,.52)!important;white-space:nowrap!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-win-feature-swap strong{font-size:clamp(1.35rem,2.8vw,2.55rem)!important;line-height:1!important;color:#fff56e!important;text-shadow:0 0 15px rgba(255,228,74,.55)!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-win-swap-host.rq-show-feature-swap > :not(.rq-win-feature-swap){opacity:0!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-win-swap-host.rq-show-feature-swap .rq-win-feature-swap{opacity:1!important;transform:none!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-win-details:has(.rq-free-detail-hidden){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* ---------- Bet value overflow protection ---------- */
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-value-tower{min-width:0!important;overflow:hidden!important;box-sizing:border-box!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-value-tower > strong{display:block!important;width:100%!important;max-width:100%!important;padding-inline:2px!important;white-space:nowrap!important;overflow:visible!important;text-align:center!important;font-variant-numeric:tabular-nums!important;box-sizing:border-box!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-value-tower.rq-value-compact > strong{font-size:clamp(.7rem,1vw,.96rem)!important;letter-spacing:-.025em!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-value-tower.rq-value-ultra-compact > strong{font-size:clamp(.6rem,.86vw,.82rem)!important;letter-spacing:-.045em!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-value-tower.rq-value-extreme-compact > strong{font-size:clamp(.5rem,.72vw,.68rem)!important;letter-spacing:-.06em!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-line-value{left:3px!important;right:3px!important;max-width:calc(100% - 6px)!important;overflow:hidden!important;white-space:nowrap!important;text-align:center!important;text-overflow:clip!important;font-variant-numeric:tabular-nums!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .classic-line-value.rq-line-value-compact{font-size:clamp(.32rem,.47vw,.48rem)!important;letter-spacing:-.035em!important}

/* ---------- Strong AUTO ON state ---------- */
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) [data-rq-role="auto"]::after{content:'';position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:rgba(153,166,195,.42);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);transition:.2s ease}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) [data-rq-role="auto"].rq-auto-engaged,
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) [data-rq-role="auto"][aria-pressed="true"]{border-color:var(--rq-auto-on-border,#70f5d0)!important;background:var(--rq-auto-on-background,linear-gradient(#167f73,#06473f))!important;color:#f1fffb!important;filter:brightness(1.15) saturate(1.25)!important;box-shadow:inset 0 2px rgba(255,255,255,.26),inset 0 -10px 18px rgba(0,0,0,.22),0 0 0 2px rgba(69,255,211,.14),0 0 20px var(--rq-auto-on-glow,rgba(56,255,208,.5))!important}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) [data-rq-role="auto"].rq-auto-engaged::after,
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) [data-rq-role="auto"][aria-pressed="true"]::after{background:#75ffd5;box-shadow:0 0 5px #fff,0 0 14px #54ffd0;animation:rqAutoPulseFinal 1s ease-in-out infinite alternate}
body[data-rq-game-id] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) [data-rq-role="auto"].rq-auto-engaged > small{color:#a8ffe8!important;font-weight:1000!important;text-shadow:0 0 8px rgba(94,255,213,.8)!important}
@keyframes rqAutoPulseFinal{from{transform:scale(.78);opacity:.72}to{transform:scale(1.22);opacity:1}}

/* ---------- Ocean Pearl title-matched controls ---------- */
body.op-page{--rq-auto-on-border:#a9fff2;--rq-auto-on-background:linear-gradient(#18a897,#075f63 58%,#033b4b);--rq-auto-on-glow:rgba(72,255,229,.56)}
body.op-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .op-action-buttons [data-rq-role="max-bet"]{border-color:#ffd982!important;background:linear-gradient(#7d6330,#3e351d 58%,#1d1c16)!important;color:#fff2b4!important}
body.op-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .op-action-buttons [data-rq-role="auto"]{border-color:#7dece9!important;background:linear-gradient(#126b7b,#083c58 58%,#041d32)!important;color:#e9ffff!important}
body.op-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .op-action-buttons [data-rq-role="spin"]{border-color:#9cfff4!important;background:linear-gradient(#1bc4b3,#087f7b 58%,#03485a)!important;color:#efffff!important;box-shadow:inset 0 2px rgba(255,255,255,.28),0 0 15px rgba(66,244,229,.22)!important}
body.op-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .op-action-buttons [data-rq-role="collect"]{border-color:#ffe59a!important;background:linear-gradient(#c3973d,#77531b 58%,#382509)!important;color:#fff5c9!important}
body.op-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .op-action-buttons :is([data-rq-role="ladder"],[data-rq-role="cards"]){border-color:#86f3ed!important;background:linear-gradient(#176d7d,#0a3b54 58%,#041d32)!important;color:#eaffff!important}

/* ---------- Neon Fortune installed art ---------- */
body[data-rq-game-id="neon-fortune"]{--rq-installed-background:url('/assets/games/neon-fortune/background-installed.webp');background:#04020e!important}
body[data-rq-game-id="neon-fortune"]::before{opacity:1!important;background-image:linear-gradient(rgba(2,2,15,.24),rgba(4,1,15,.52)),url('/assets/games/neon-fortune/background-installed.webp')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
body[data-rq-game-id="neon-fortune"] :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .rq-logo-area :is(.rq-master-game-logo,.rq-slot-game-logo,.rq-game-logo-image,img[src*="logo-installed"]){width:min(88%,960px)!important;height:auto!important;max-width:960px!important;max-height:88%!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;transform:none!important}

/* ---------- Crystal Kingdom four-value line rails ---------- */
body.ck-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .ck-payline-rail{grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:2px!important;padding:2px!important}
body.ck-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .ck-payline-marker{font-size:clamp(.58rem,.78vw,.82rem)!important;cursor:default!important}
body.ck-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .ck-payline-marker.inactive{opacity:.72!important;filter:saturate(.72) brightness(.86)!important}
body.ck-page :is(#game-cabinet,.rq-game-cabinet,.rq-universal-cabinet) .ck-payline-marker.active{opacity:1!important;filter:brightness(1.18) saturate(1.08)!important}

/* ---------- Centered futuristic level progress HUD ---------- */
@media (min-width:1181px){
  body.rq-pgs-master-shell > .rq-app-header{
    grid-template-columns:minmax(150px,190px) 74px minmax(0,1fr) auto!important;
  }
  body.rq-pgs-master-shell .rq-app-header .game-level-hud{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:clamp(360px,34vw,540px)!important;
    max-width:calc(100vw - 790px)!important;
    min-width:330px!important;
    z-index:4!important;
    justify-self:auto!important;
  }
  body.rq-pgs-master-shell .rq-app-header .brand,
  body.rq-pgs-master-shell .rq-app-header .rq-player-badge,
  body.rq-pgs-master-shell .rq-app-header .game-header-actions{
    z-index:6!important;
  }
}
@media (max-width:1180px){
  body.rq-pgs-master-shell .rq-app-header .game-level-hud{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}


/* ---------- Shared one-line-at-a-time win presentation ---------- */
.rq-global-win-line-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:1200!important;
  width:100vw!important;
  height:100vh!important;
  overflow:visible!important;
  pointer-events:none!important;
  contain:layout style paint!important;
}
.rq-cycle-payline-glow,
.rq-cycle-payline-core{
  fill:none!important;
  vector-effect:non-scaling-stroke!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  stroke-dasharray:1!important;
  stroke-dashoffset:1!important;
  animation:rqCycleLineDraw .42s cubic-bezier(.18,.82,.24,1) forwards!important;
}
.rq-cycle-payline-glow{
  stroke-width:13px!important;
  opacity:.25!important;
  filter:drop-shadow(0 0 9px currentColor)!important;
}
.rq-cycle-payline-core{
  stroke-width:3.5px!important;
  opacity:.98!important;
  filter:drop-shadow(0 0 3px currentColor) drop-shadow(0 0 8px currentColor)!important;
}
@keyframes rqCycleLineDraw{to{stroke-dashoffset:0}}
.rq-cycle-win-cell{
  position:relative!important;
  z-index:8!important;
  animation:rqCycleCellPulse .78s ease-in-out infinite alternate!important;
  filter:brightness(1.18) saturate(1.12) drop-shadow(0 0 10px rgba(255,232,132,.82))!important;
}
@keyframes rqCycleCellPulse{from{transform:scale(1)}to{transform:scale(1.055)}}
.rq-cycle-line-marker{
  position:relative!important;
  z-index:12!important;
  filter:brightness(1.35) saturate(1.25)!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.42),0 0 14px currentColor!important;
  animation:rqCycleMarkerPulse .72s ease-in-out infinite alternate!important;
}
@keyframes rqCycleMarkerPulse{from{transform:scale(.98)}to{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){
  .rq-cycle-payline-glow,.rq-cycle-payline-core,.rq-cycle-win-cell,.rq-cycle-line-marker{animation:none!important}
  .rq-cycle-payline-glow,.rq-cycle-payline-core{stroke-dashoffset:0!important}
}
