/* Shared short-landscape presentation. Portrait/desktop remain untouched. */
html.phone-landscape { --phone-rail:clamp(138px,21vw,190px); --phone-top:42px; overflow:hidden!important; }
.phone-landscape body { margin:0!important; padding:0!important; overflow:hidden!important; width:var(--phone-w); height:var(--phone-h); min-height:0!important; }
.phone-land-root { position:fixed!important; inset:auto!important; left:var(--phone-x)!important; top:var(--phone-y)!important; width:var(--phone-w)!important; height:var(--phone-h)!important; min-height:0!important; max-width:none!important; margin:0!important; padding:0!important; overflow:hidden!important; }
.phone-landscape body:has(#main) > :is(header.top,aside,footer),
.phone-land-root :is(.topline,.gameHead,.tbGameHeader,.topbar,.game-heading,.title-area,.rush-sidebar,.feature-card,.character,.host,.zeus-panel,.explorer-art,.utility-bar,.utilBar,.announcement),
.phone-land-root > :is(nav#games,footer),
.phone-land-root #frameBar,
.phone-land-root .gameWrap > .panel { display:none!important; }
.phone-land-board { position:absolute!important; top:calc(var(--phone-top) + env(safe-area-inset-top,0px))!important; left:calc(8px + env(safe-area-inset-left,0px))!important; width:calc(var(--phone-w) - var(--phone-rail) - 26px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important; height:auto!important; min-height:0!important; max-height:none!important; max-width:none!important; margin:0!important; padding:0!important; display:block!important; transform:scale(var(--phone-scale,1))!important; transform-origin:top center!important; }
.phone-land-board :is(.arena,.play-area,.machine) { display:block!important; width:100%!important; max-width:none!important; margin:0!important; min-height:0!important; padding:0!important; }
.phone-land-board .board-shell { width:100%!important; max-width:none!important; margin:0 auto!important; }
.phone-land-board :is(.machine-head,.machine-foot,.machine-status,.machine-hud,.status-line,.board-caption,.hint) { font-size:10px!important; min-height:14px!important; padding:2px 5px!important; margin:0!important; }
.phone-land-board .slotMascot { display:none!important; }
.phone-land-board .slotReels { margin:auto!important; }
.phone-land-board :is(.western-sidebar,.sweet-sidebar) { display:none!important; }
.phone-land-rail #auto-spin { min-width:0!important; width:100%!important; }
.phone-land-parent { position:static!important; overflow:visible!important; transform:none!important; min-height:0!important; background:none!important; border:0!important; box-shadow:none!important; }
.phone-land-parent::before,.phone-land-parent::after,.phone-land-parent > .feltLight { display:none!important; }
.phone-land-bar { position:absolute; z-index:80; top:env(safe-area-inset-top,0px); left:env(safe-area-inset-left,0px); right:env(safe-area-inset-right,0px); height:var(--phone-top); display:flex; align-items:center; gap:8px; padding:2px 8px; background:#101925eb; color:#fff; box-sizing:border-box; }
.phone-land-bar :is(button,a,summary) { min-width:36px!important; min-height:34px!important; height:auto!important; padding:5px 9px!important; font-size:12px!important; line-height:1.2!important; cursor:pointer; }
.phone-land-bar :is(.readout,.counter,.balance,.bal) { display:flex!important; gap:6px; align-items:center; margin-right:auto; min-width:0!important; padding:0!important; }
.phone-land-bar :is(strong,#balance) { font-size:15px!important; }
.phone-land-bar small { font-size:9px!important; }
.phone-land-bar .specPanel { position:fixed!important; inset:44px 10px 10px!important; width:auto!important; max-height:none!important; overflow:auto!important; background:#142130; z-index:100; }
.phone-land-rail { position:absolute; z-index:50; right:calc(6px + env(safe-area-inset-right,0px)); top:calc(var(--phone-top) + env(safe-area-inset-top,0px)); bottom:calc(6px + env(safe-area-inset-bottom,0px)); width:var(--phone-rail); display:flex; flex-direction:column; justify-content:center; gap:4px; background:#101925e8; border-radius:12px; padding:6px; box-sizing:border-box; }
.phone-land-rail :is(.controls,.deck,.deckMain,.deckCentre,.deckRight,.autoplay-bar) { position:static!important; display:flex!important; flex-direction:column!important; flex-wrap:nowrap!important; align-items:stretch!important; justify-content:center!important; gap:4px!important; width:100%!important; min-width:0!important; max-width:none!important; min-height:0!important; padding:0!important; margin:0!important; border:0!important; background:none!important; box-shadow:none!important; }
.phone-land-rail :is(button,input,select) { font-size:12px!important; min-height:32px!important; max-height:44px; padding:4px 6px!important; box-sizing:border-box; }
.phone-land-rail :is(input,select) { min-width:0!important; max-width:100%; }
.phone-land-rail :is(.spin,.play,.bigSpin) { width:100%!important; height:44px!important; min-height:38px!important; border-radius:12px!important; font-size:16px!important; }
.phone-land-rail .bigSpin .glyph { font-size:30px!important; }
.phone-land-rail :is(.spin svg,.play svg) { width:25px!important; height:25px!important; }
.phone-land-rail .spin { display:flex!important; align-items:center!important; justify-content:center!important; gap:8px!important; }
.phone-land-rail .spin :is(svg,span) { position:static!important; inset:auto!important; transform:none!important; font-size:14px!important; }
.phone-land-rail :is(.stake-group,.stake-label,.stakeBox,.stake-wrap,.autoplay-group) { width:100%!important; min-width:0!important; margin:0!important; padding:0!important; }
.phone-land-rail :is(.stake-box,.stake-input,.stakeRow,.stake-wrap>div,.autoplay-row,.deckModes) { display:flex!important; gap:3px!important; justify-content:center; }
.phone-land-rail :is(.stake-box,.stake-input,.stakeRow) input { width:70px!important; flex:1; }
.phone-land-rail :is(.readout,.counter,.balance) { padding:0!important; min-width:0!important; font-size:11px!important; }
.phone-land-rail :is(strong,small) { font-size:11px!important; }
.phone-land-rail :is(.deckExtras,.deckTop,#auto-help,.autoplay-bar>p,.utility-bar,.stakeBox.right,.win-readout,.counter.last,.balance:has(#last-win)) { display:none!important; }
.phone-land-rail [hidden] { display:none!important; }
.phone-land-rail :is(.controls,.autoplay-group,.autoplay-bar) { height:auto!important; flex:0 1 auto!important; }
.phone-land-rail .autoplay-group, .phone-land-rail .autoplay-row { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:4px!important; min-height:0!important; }
.phone-land-rail :is(#auto-status,.err) { white-space:normal!important; overflow-wrap:anywhere; font-size:10px!important; margin:0!important; line-height:1.15!important; min-height:0!important; }
.phone-land-rail .autoplay-row label { display:flex; align-items:center; justify-content:center; gap:6px; }
.phone-land-rail #auto { min-width:0!important; width:100%!important; }
.phone-land-rail .deckMain > *, .phone-land-rail .deckModes, .phone-land-rail .bigSpin { position:static!important; inset:auto!important; transform:none!important; order:0!important; flex:0 1 auto!important; }
.phone-land-rail .bigSpin { position:relative!important; overflow:hidden!important; }
.phone-land-rail .deckModes { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%!important; }
.phone-land-rail .deckModes button { width:100%!important; min-width:0!important; }
.phone-land-rail .deckCredit { display:none!important; }
.phone-land-bar .gameInfo { min-width:0!important; max-width:100%; }
.phone-land-bar .gameInfo summary { width:50px; overflow:hidden; white-space:nowrap; font-size:0!important; }
.phone-land-bar .gameInfo summary::after { content:'Rules'; font-size:12px; }
.phone-landscape .demoBar { bottom:0!important; top:auto!important; font-size:9px!important; padding:0 4px!important; line-height:14px!important; }
.phone-land-rail .bkSpots { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; margin:0; order:-1; }
.phone-land-rail .bkSpot { padding:3px!important; min-height:0!important; }
.phone-land-rail .bkSpot :is(small,.dtSpotNote,.bkChips) { display:none!important; }
.phone-land-rail .bkSpotHead b { font-size:11px!important; }
.phone-land-rail .bkSpot input { width:36px!important; }
.phone-land-rail .bkSpot .rnd { width:22px!important; min-width:22px!important; padding:0!important; }
.phone-land-rail .bkSpot input { padding:1px!important; }
.phone-land-rail .stakeBox.right { display:flex!important; flex-direction:row; align-items:center; justify-content:center; gap:6px; }
.phone-land-root :is(#winLine,#mechResult) { position:absolute!important; top:auto!important; left:calc(8px + env(safe-area-inset-left,0px))!important; bottom:calc(16px + env(safe-area-inset-bottom,0px))!important; width:calc(100% - var(--phone-rail) - 26px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))!important; margin:0!important; min-height:16px!important; font-size:12px!important; text-align:center; }
.phone-land-rail .orMsg { font-size:11px!important; margin:0!important; min-height:0!important; }
.phone-land-root[data-phone-family="table"] .phone-land-rail .orRow { flex-wrap:wrap; gap:4px; }
.phone-land-root[data-phone-family="table"] .phone-land-rail .pfActions { display:flex; flex-wrap:wrap; gap:4px; }
.phone-land-rail .pfDeck { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:6px!important; padding:0!important; margin:0!important; width:100%!important; min-width:0!important; border:0!important; background:none!important; }
.phone-land-rail .pfReturn { display:none!important; }
.phone-landscape dialog { max-height:calc(var(--phone-h) - 24px)!important; max-width:calc(var(--phone-w) - 24px)!important; overflow:auto!important; }
.phone-land-rules { background:#142130; color:#fff; border:1px solid #597086; border-radius:12px; }
.phone-land-options { background:#142130; color:#fff; border:1px solid #597086; border-radius:12px; padding:15px; }
.phone-land-bets { background:#142130; color:#fff; border:1px solid #597086; border-radius:12px; padding:12px; width:min(760px,94vw); }
.phone-land-bets > button { position:sticky; top:0; z-index:10; min-height:36px; }
.phone-land-bets :is(.sbLayout,.cpBets,.lsMarkets,#swSpotsWrap) { position:static!important; margin-top:8px; }
.phone-land-options :is(.deckExtras,.utilities) { position:static!important; display:flex!important; flex-wrap:wrap; gap:10px; padding:12px 0; }
.phone-land-options [hidden] { display:none!important; }
.phone-land-bar .gameInfo { margin:0!important; }
.phone-land-bar :is(button,a,summary) { flex-shrink:0; }
.phone-land-rules .panel { display:block!important; }
.phone-land-root[data-phone-family="table"] .phone-land-rail { width:clamp(170px,28vw,250px); }
.phone-land-root[data-phone-family="table"] { --phone-rail:clamp(170px,28vw,250px); }
.phone-land-root[data-phone-family="table"] .phone-land-board { height:var(--phone-table-height,240px)!important; }
.phone-land-host .phone-land-root iframe.encoreFrame { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0!important; max-height:none!important; }
.phone-land-host .encoreHost { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; min-height:0!important; margin:0!important; }
.phone-land-host :is(.encoreHead,.encoreBar,.encoreToolbar,.phone-land-bar,.phone-land-rail) { display:none!important; }
@media(max-height:350px) { .phone-land-rail :is(button,input,select) { min-height:28px!important; } .phone-land-rail { gap:2px; padding:4px; } }

/* Buy Bonus adds a row. Keep real control heights instead of shrinking their
   wrappers over one another when browser bars reduce the landscape viewport. */
.phone-land-root[data-phone-family="reference"] .phone-land-bar button {
  color:#fff!important; background:#263547!important; border:1px solid #5a6c81!important;
}
@media(max-height:350px) {
  .phone-land-root[data-phone-family="reference"] .phone-land-rail :is(.controls,.autoplay-bar),
  .phone-land-root[data-phone-family="reference"] .phone-land-rail .controls > * {
    flex:0 0 auto!important; margin:0!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail .lines-group {
    display:flex!important; flex-direction:row!important; align-items:center!important;
    justify-content:space-between!important; width:100%!important; gap:4px!important; padding:0!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail .stake-group {
    display:flex!important; flex-direction:column!important; gap:2px!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail :is(.stake-group,.lines-group) > small {
    font-size:9px!important; line-height:10px!important; margin:0!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail #play {
    margin:0!important; height:38px!important; min-height:38px!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail #lobbyBuyRow {
    padding:0!important; margin:0!important; flex:none!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail #lobbyBuy {
    height:32px!important; min-height:32px!important; max-height:32px!important;
    font-size:11px!important; line-height:1.1!important; padding:3px!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail .autoplay-bar {
    display:grid!important; grid-template-columns:48px minmax(0,1fr)!important;
    align-items:center!important; gap:4px!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail .autoplay-bar > label {
    display:block!important; font-size:0!important; line-height:0!important;
    letter-spacing:0!important; margin:0!important; min-width:0!important; width:100%!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail .autoplay-bar select {
    display:block!important; width:48px!important; min-width:48px!important; flex:none!important;
    padding:2px!important; font-size:12px!important;
  }
  .phone-land-root[data-phone-family="reference"] .phone-land-rail #auto-spin {
    font-size:11px!important; line-height:1.1!important; min-height:32px!important;
  }
}
