/* Beast Tactics v6.46
   Mobile keeps the desktop composition without iframe/reflow.
   Changes are limited to viewport scale, menu fitting, safe hand spacing,
   and modest enlargement of essential controls. */

html.bt-mobile-desktop-v46{
  --bt-mobile-menu-fit-scale:1;
  --bt-mobile-menu-shift-y:0px;
  --bt-mobile-control-scale:1.08;
  --bt-mobile-status-scale:1.04;
}

html.bt-mobile-desktop-v46.bt-mobile-desktop-portrait,
html.bt-mobile-desktop-v46.bt-mobile-desktop-portrait body{
  overflow:hidden !important;
}

@media (orientation:landscape){
  html.bt-mobile-desktop-v46,
  html.bt-mobile-desktop-v46 body{
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    overscroll-behavior:none !important;
    touch-action:none;
  }

  /* The desktop board remains centred. Only its available safe height changes. */
  html.bt-mobile-desktop-v46{
    --bt-hand-h:96px;
    --bt-slot-w:clamp(60px,min(8vw,calc((100dvh - 324px) / 4.96)),132px);
    --bt-pile-w:clamp(42px,min(4vw,6.4dvh),58px);
  }

  html.bt-mobile-desktop-v46 body .board > .board-grid.board-grid-4x2,
  html.bt-mobile-desktop-v46 body .board-grid.board-grid-4x2{
    z-index:112 !important;
  }

  /* Hand panels stay in their desktop positions, shifted slightly outward. */
  html.bt-mobile-desktop-v46 body .enemy-hand-panel{
    top:-8px !important;
  }

  html.bt-mobile-desktop-v46 body .hand-panel{
    bottom:-8px !important;
  }

  /* Remove the permanent card enlargement from v6.45.
     Board and hand cards retain their original desktop proportions. */
  html.bt-mobile-desktop-v46 body .hand .card,
  html.bt-mobile-desktop-v46 body .enemy-hand-card,
  html.bt-mobile-desktop-v46 body .board-grid.board-grid-4x2 > .slot > .card,
  html.bt-mobile-desktop-v46 body #enemyDeckPile,
  html.bt-mobile-desktop-v46 body #enemyDiscardPile,
  html.bt-mobile-desktop-v46 body #playerDeckPile,
  html.bt-mobile-desktop-v46 body #playerDiscardPile,
  html.bt-mobile-desktop-v46 body .main-menu-actions button,
  html.bt-mobile-desktop-v46 body .main-menu-deck-picker,
  html.bt-mobile-desktop-v46 body .menu-back-btn{
    scale:1 !important;
  }

  /* Selected hand cards may rise for inspection, but normal cards never cover the board. */
  html.bt-mobile-desktop-v46 body .hand .card:hover,
  html.bt-mobile-desktop-v46 body .hand .card.hand-selected,
  html.bt-mobile-desktop-v46 body .hand .card:focus-visible{
    transform:translateY(-72px) scale(1.10) !important;
  }

  /* Essential gameplay controls receive only modest visual enlargement. */
  html.bt-mobile-desktop-v46 body .vertical-status-rail .end-turn,
  html.bt-mobile-desktop-v46 body .end-turn{
    scale:var(--bt-mobile-control-scale) !important;
    transform-origin:center center !important;
  }

  html.bt-mobile-desktop-v46 body #verticalStatusRail,
  html.bt-mobile-desktop-v46 body .vertical-status-rail,
  html.bt-mobile-desktop-v46 body #phaseStatusRail,
  html.bt-mobile-desktop-v46 body .phase-status-rail{
    scale:var(--bt-mobile-status-scale) !important;
  }

  html.bt-mobile-desktop-v46 body #verticalStatusRail,
  html.bt-mobile-desktop-v46 body .vertical-status-rail{
    transform-origin:left center !important;
  }

  html.bt-mobile-desktop-v46 body #phaseStatusRail,
  html.bt-mobile-desktop-v46 body .phase-status-rail{
    transform-origin:right center !important;
  }

  html.bt-mobile-desktop-v46 body .panel-open{
    scale:1.14 !important;
    transform-origin:left top !important;
  }

  /* Main menu: desktop arrangement, fitted as one card so no edge is cropped. */
  html.bt-mobile-desktop-v46 body .main-menu-overlay{
    overflow:hidden !important;
    padding:
      max(18px,env(safe-area-inset-top))
      max(22px,env(safe-area-inset-right))
      max(18px,env(safe-area-inset-bottom))
      max(22px,env(safe-area-inset-left)) !important;
  }

  html.bt-mobile-desktop-v46 body .main-menu-card{
    translate:0 var(--bt-mobile-menu-shift-y) !important;
    scale:var(--bt-mobile-menu-fit-scale) !important;
    transform-origin:center center !important;
  }

  html.bt-mobile-desktop-v46 body .main-menu-scene{
    position:absolute !important;
    inset:-3px !important;
    width:auto !important;
    height:auto !important;
    background-position:center center !important;
    background-size:cover !important;
  }

  html.bt-mobile-desktop-v46 body .main-menu-video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:scale(1.015) translateZ(0) !important;
  }

  html.bt-mobile-desktop-v46 body .main-menu-manage-group,
  html.bt-mobile-desktop-v46 body .main-menu-learn-group{
    grid-template-columns:1fr 1fr !important;
  }

  /* Collection and deck builder stay on their desktop layouts. */
  html.bt-mobile-desktop-v46 body .collection-overlay{
    padding:18px !important;
  }

  html.bt-mobile-desktop-v46 body .collection-shell{
    width:min(1180px,calc(100vw - 28px)) !important;
    height:min(780px,calc(100dvh - 28px)) !important;
    gap:12px !important;
    padding:16px !important;
    border-radius:22px !important;
  }

  html.bt-mobile-desktop-v46 body .collection-toolbar{
    grid-template-columns:minmax(180px,1fr) 142px 160px 150px !important;
    gap:8px !important;
  }

  html.bt-mobile-desktop-v46 body .collection-grid{
    --collection-card-width:132px !important;
    grid-template-columns:repeat(auto-fill,var(--collection-card-width)) !important;
    gap:12px !important;
  }

  html.bt-mobile-desktop-v46 body .deck-builder-overlay{
    padding:18px !important;
  }

  html.bt-mobile-desktop-v46 body .deck-builder-shell{
    width:min(1220px,calc(100vw - 28px)) !important;
    height:min(790px,calc(100dvh - 28px)) !important;
    gap:12px !important;
    padding:16px !important;
    border-radius:22px !important;
  }

  html.bt-mobile-desktop-v46 body .deck-builder-layout{
    grid-template-columns:220px 1fr !important;
    gap:12px !important;
  }

  html.bt-mobile-desktop-v46 body .deck-builder-columns{
    grid-template-columns:1fr 280px !important;
    gap:10px !important;
  }

  html.bt-mobile-desktop-v46 body .deck-editor-toolbar{
    grid-template-columns:minmax(160px,1fr) minmax(220px,300px) auto !important;
  }

  html.bt-mobile-desktop-v46 body .deck-card-filters{
    grid-template-columns:minmax(150px,1fr) 110px 140px 135px !important;
  }

  html.bt-mobile-desktop-v46 body .deck-card-pool{
    grid-template-columns:repeat(auto-fill,minmax(116px,1fr)) !important;
    gap:10px !important;
  }

  /* Mobile touch polish without another coordinate/layout system. */
  html.bt-mobile-desktop-v46 body button,
  html.bt-mobile-desktop-v46 body select,
  html.bt-mobile-desktop-v46 body .card,
  html.bt-mobile-desktop-v46 body .slot,
  html.bt-mobile-desktop-v46 body .pile{
    -webkit-tap-highlight-color:transparent;
    -webkit-touch-callout:none;
  }

  html.bt-mobile-desktop-v46 body .hand .card,
  html.bt-mobile-desktop-v46 body .enemy-hand-card,
  html.bt-mobile-desktop-v46 body .board .card,
  html.bt-mobile-desktop-v46 body .slot,
  html.bt-mobile-desktop-v46 body .pile,
  html.bt-mobile-desktop-v46 body .end-turn,
  html.bt-mobile-desktop-v46 body .panel-open{
    touch-action:none !important;
  }
}
