/* Mobile-only corrections. Desktop layout remains in main.css. */
@media (max-width:899px) {
  html, body { min-width:0; max-width:100%; }
  body.reworked-ui { height:auto!important; overflow-y:auto!important; }
  body.reworked-ui header { flex-wrap:wrap; height:auto!important; min-height:46px; padding:8px!important; }
  #topBarRight { max-width:100%; }
  .overlay { padding:8px!important; overflow-y:auto!important; align-items:safe center!important; }
  .overlay > .modal { max-width:100%!important; max-height:calc(100dvh - 16px)!important; overflow:auto!important; padding:14px!important; }
  input, select, textarea { font-size:16px; max-width:100%; }
  button { touch-action:manipulation; }
  body #tableLobbyOverlay, body #gurkaTableLobbyOverlay,
  body .casino-table-lobby-overlay, body .sm-lobby-overlay,
  body .series-mattis-lobby-overlay {
    position:fixed!important; inset:8px!important; inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    height:auto!important; max-height:none!important; padding:0!important; transform:none!important;
    align-items:flex-start!important; justify-content:center!important; overflow:auto!important;
    z-index:1000!important; pointer-events:auto!important; background:rgba(12,16,12,.8);
  }
  body .table-lobby-card, body #seriesMattisNativeRoot .sm-lobby {
    width:100%!important; max-width:680px!important; min-height:0!important; max-height:100%!important;
    margin:0 auto!important; padding:12px!important; gap:8px!important; overflow:auto!important; overscroll-behavior:contain;
  }
  body .table-lobby-title-row {
    position:sticky; top:-12px; z-index:5; background:#2b1a10; padding:10px 0; flex-wrap:wrap;
  }
  body .table-lobby-title-row .online-pill { font-size:16px; font-weight:800; white-space:nowrap; }
  body .table-seat-grid, body #seriesMattisNativeRoot .sm-seat-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px; }
  body .table-seat-grid .seat-card { min-width:0; padding:8px; }
  body .table-seat-grid button, body .table-lobby-actions button, body .sm-lobby button { min-height:44px; white-space:normal; }
  body .seat-status { overflow-wrap:anywhere; }
  body .shared-lobby-status { padding:8px; margin:4px 0; }
  body .table-lobby-subtitle { font-size:13px; }
  body .deck-setting { margin:4px 0; }
  body .table-lobby-actions { gap:6px; }
  body.reworked-ui #status { display:block!important; min-height:0!important; }
  body.reworked-ui #main, body.reworked-ui #controls { min-width:0; }
  body.reworked-ui #hand { max-width:100%; overflow-x:auto!important; overscroll-behavior-x:contain; }
  /* Give Casino a real table height; strip/actions cannot consume the board. */
  body.casino-mode.reworked-ui #table {
    height:auto!important; min-height:480px!important; max-height:none!important; overflow:visible!important;
    padding:8px!important; border-width:6px!important; border-radius:20px!important;
  }
  body.casino-mode #table > .trick-row { display:none!important; }
  body.casino-mode #casinoTableArea {
    position:relative!important; inset:auto!important; width:100%; min-width:0;
    grid-template-rows:auto auto minmax(250px,1fr) auto!important; gap:8px;
  }
  body.casino-mode .casino-board {
    min-height:250px; max-height:55dvh; overflow:auto!important; padding:10px 6px!important; gap:8px!important;
    align-content:flex-start!important; align-items:flex-start!important; justify-content:flex-start!important;
  }
  body.casino-mode .casino-item { transform:none!important; margin:0!important; min-height:0!important; padding:5px!important; border-radius:10px; max-width:100%; }
  body.casino-mode .casino-item .playing-card { width:64px!important; height:92px!important; flex:0 0 64px; transform:none!important; }
  body.casino-mode .casino-build { padding:9px 5px 5px!important; }
  body.casino-mode .casino-build-flat { max-width:100%; padding:4px; overflow-x:auto; }
  body.casino-mode .casino-build-card { margin-left:-24px; }
  body.casino-mode .casino-build-card:first-child { margin-left:0; }
  body.casino-mode .casino-strip, body.casino-mode .casino-actions { padding:8px; border-radius:12px; }
  body.casino-mode .casino-actions button { min-height:44px; flex:1 1 auto; }
  body.casino-mode .casino-play-space { min-height:45px; }
  body.casino-mode .casino-play-card { transform:none; padding:4px; max-width:100%; }
  body.casino-mode .casino-play-card .playing-card { width:48px!important; height:69px!important; }
  /* Native Series has its own scroll container and dynamically injected rules. */
  body #seriesMattisOverlay { overflow-y:auto!important; }
  body #seriesMattisOverlay #seriesMattisNativeRoot.sm-native-root { height:auto!important; overflow:visible!important; padding:8px!important; min-width:0; }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-game { height:auto!important; grid-template-columns:minmax(0,1fr)!important; grid-template-rows:minmax(430px,auto) auto 160px 220px 160px!important; }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-action { flex-wrap:wrap; min-height:60px; }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-top { height:auto; min-height:40px; flex-wrap:wrap; }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-hand { min-width:0; padding:16px 8px!important; }
  body #seriesMattisNativeRoot .sm-chat-input { min-width:0; }
  #gameDiagnosticsPanel button { min-height:40px; }
}
@media (max-width:899px) {
  body.casino-mode.reworked-ui #main { display:flex!important; flex-direction:column!important; height:auto!important; }
  body.casino-mode.reworked-ui #table { flex:none!important; }
  body.casino-mode.reworked-ui #controls { display:flex!important; flex-direction:column!important; height:auto!important; }
}
@media (max-width:899px) {
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-player {
    width:104px!important; left:clamp(56px,var(--sm-seat-x,50%),calc(100% - 56px))!important;
  }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-player-label {
    width:108px; max-width:108px!important; white-space:normal!important; line-height:1.2; padding:4px!important; font-size:11px!important;
  }
  /* Large tables need scrollable rows rather than ten overlapping radial seats. */
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-table[data-player-count]:not([data-player-count="3"]):not([data-player-count="4"]) {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:14px 8px; padding:12px 6px;
    max-height:65dvh; overflow:auto!important;
  }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-table[data-player-count]:not([data-player-count="3"]):not([data-player-count="4"]) .sm-player {
    position:relative!important; left:auto!important; top:auto!important; transform:none!important; width:100%!important; padding:6px!important;
  }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-table[data-player-count]:not([data-player-count="3"]):not([data-player-count="4"]) .sm-player-label {
    position:static; transform:none; width:auto; max-width:100%!important;
  }
  body #seriesMattisOverlay #seriesMattisNativeRoot .sm-table[data-player-count]:not([data-player-count="3"]):not([data-player-count="4"]) .sm-center {
    position:relative; top:auto; left:auto; transform:none; width:100%; grid-column:1 / -1;
  }
}
