/* ==========================================================================
   10 · MOBILE LANDSCAPE — felt left, command column right
   Applies to phones held sideways (short viewport + landscape).
   ========================================================================== */

@media (max-width:1000px) and (orientation:landscape),(max-height:540px) and (orientation:landscape) and (pointer:coarse){
  html{font-size:calc(13.5px * var(--font-scale))}

  /* slim topbar — logo left, action buttons right */
  .topbar{min-height:42px;padding:4px 8px;gap:8px;padding-top:calc(4px + env(safe-area-inset-top));padding-left:calc(8px + env(safe-area-inset-left));padding-right:calc(8px + env(safe-area-inset-right))}
  .brand{font-size:.72rem}
  .brand .brand-mark{width:26px;height:26px;border-radius:8px;font-size:.72rem}
  .brand small,.table-label{display:none}
  .top-stats{display:none}
  .top-actions{margin-left:auto}
  .icon-btn{min-width:32px;height:32px;border-radius:9px;font-size:.8rem}
  .room-badge{display:none}

  /* two-column shell: stage left, console right */
  .game-shell{
    display:grid;grid-template-columns:minmax(0,1fr) clamp(286px,34vw,332px);
    gap:7px;padding:6px;height:100%;overflow:hidden;
    padding-left:calc(6px + env(safe-area-inset-left));
    padding-right:calc(6px + env(safe-area-inset-right));
    padding-bottom:calc(6px + env(safe-area-inset-bottom));
  }
  .table-zone{display:contents}
  .table-layout{display:contents}
  .table-wrap{display:contents}

  .table-stage{
    position:relative;inset:auto;min-height:0;height:100%;
    display:flex;flex-direction:column;border-radius:13px;
    --player-rail-h:106px;
    --mobile-rail-h:106px;
  }
  .poker-table{
    left:4%;right:4%;top:calc(var(--mobile-rail-h) + 8px);bottom:6%;
    border-radius:16px;border-width:1.5px;
    background:
      radial-gradient(130% 150% at 50% 6%,color-mix(in srgb,var(--felt-1) 88%,#fff 9%) 0%,var(--felt-1) 50%,var(--felt-2) 92%);
    box-shadow:
      0 0 0 4px color-mix(in srgb,var(--felt-rim) 70%,#160f08),
      0 0 0 6px rgba(0,0,0,.52),
      inset 0 0 40px rgba(0,0,0,.46),
      inset 0 2px 12px rgba(255,255,255,.07),
      0 16px 38px rgba(0,0,0,.48);
  }
  .environment-plaque{display:none}

  /* opponent rail — wider, taller cards */
  #seats{padding:8px 8px 13px;gap:7px}
  .seat{width:168px}
  .player-card-head{padding:6px 8px 5px;gap:6px}
  .avatar{width:26px;height:26px;border-radius:8px;font-size:.68rem}
  .player-name{font-size:.64rem}
  .stack-block strong{font-size:.66rem}
  .stack-block small{font-size:.46rem}
  .mobile-player-snapshot{margin:0 6px 7px;padding:5px 6px;gap:6px}
  .mobile-player-last{font-size:.52rem}
  .mini-cards{min-height:30px}
  .mini-cards .card{--cw:21px;--ch:30px;--cr:4px;--crank:.54rem;--csuit:.54rem}
  .mobile-player-cards>span{display:none}
  .mobile-player-side .expression-display{width:26px;height:26px}
  .mobile-player-side .expression-display .face{font-size:.76rem}
  .role-badge{min-width:16px;height:14px;padding:0 4px;font-size:.4rem;border-radius:5px}
  .role-strip{top:-7px}
  .seat-wager{height:18px;padding:0 7px;bottom:-6px}
  .seat-wager-total{font-size:.52rem}
  .mobile-rail-hint{display:none}

  /* felt center — one centered band: community cards, pot below, compact
     action-order strip at the bottom; street badge on the right edge, lifted
     above the cards (centered) at showdown */
  .table-center-hud{
    inset:0;transform:none;width:auto;min-width:0;
    display:grid;grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:1fr auto auto auto 1fr;
    align-items:center;justify-items:center;column-gap:8px;row-gap:4px;
    padding:calc(var(--mobile-rail-h) + 12px) 10px 8px;
  }
  .table-top-hud{display:contents}
  .community{grid-column:2;grid-row:2;gap:5px;min-height:64px}
  .community .card{--cw:48px;--ch:68px;--cr:6px;--crank:1.08rem;--csuit:1.08rem}
  .street-badge{grid-column:3;grid-row:2;justify-self:end;padding:3px 10px;font-size:.52rem}
  .street-badge.showdown{grid-column:2;grid-row:1;justify-self:center;align-self:end;position:relative;z-index:24;margin-bottom:6px}
  .pot-box{grid-column:2;grid-row:3;justify-self:center;margin-top:0;padding:4px 11px;border-radius:9px;gap:5px}
  .pot-box strong{font-size:.8rem}
  .pot-box span{font-size:.46rem}
  .pot-box small{display:none}
  .action-track{
    grid-column:2;grid-row:4;align-self:center;justify-self:center;min-width:0;max-width:100%;
    flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:4px;
    padding:2px 10px;border-radius:99px;background:rgba(6,9,12,.5);font-size:.48rem;
    white-space:nowrap;overflow:hidden;
  }
  .action-track strong{display:none}
  .action-track .arrow{display:inline;font-size:.42rem;opacity:.55}
  .action-track span{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.46rem}
  /* 进入下一小局 morphs out of the pot slot */
  .next-round-dock{
    position:static;transform:none;grid-column:2;grid-row:3;
    justify-self:center;align-self:center;z-index:45;pointer-events:auto;
  }
  .next-round-dock button{min-height:29px;font-size:.66rem;padding:0 14px}
  /* 暂停键移到牌桌右下角：HUD 网格右列、与底池同行（垂直对齐），
     不占公共牌行（row2），替代之前 absolute 贴轨道下的右上角 */
  .table-pause-btn{position:static;grid-column:3;grid-row:3;justify-self:end;align-self:center;transform:none;height:24px;padding:0 9px;gap:5px}
  .table-pause-btn:hover:not(:disabled){transform:none}
  .table-pause-copy strong{font-size:.54rem}
  .table-pause-copy small{display:none}
  .table-pause-icon{font-size:.62rem}
  .wager-increment{top:auto;bottom:-8px;font-size:.48rem}
  .dialogue-layer>div{font-size:.56rem;max-width:150px}

  /* right command column — uniform sections: info scrolls, controls pinned */
  .hero-panel{
    position:relative;inset:auto;transform:none;width:auto;
    height:100%;min-height:0;
    display:grid;grid-template-rows:minmax(0,1fr) auto;gap:5px;
    overflow:hidden;
  }
  .hero-info{
    display:flex;flex-direction:column;gap:5px;min-height:0;
    overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;
  }
  .hero-info::-webkit-scrollbar{display:none}
  .hero-player-card{border-radius:12px;flex:none}
  .hero-card-header{padding:5px 9px 4px;gap:7px}
  .hero-avatar{width:26px;height:26px;border-radius:8px;font-size:.58rem}
  .hero-name-row strong{font-size:.68rem}
  .you-badge{font-size:.4rem;padding:1.5px 4px}
  .hero-status-text{display:none}
  .hero-primary-stack strong{font-size:.88rem}
  .hero-primary-stack small{font-size:.44rem}
  .hero-card-main{margin:0 6px;padding:5px 7px;gap:8px;align-items:center}
  .hero-hand .card{--cw:32px;--ch:45px;--cr:5px;--crank:.76rem;--csuit:.76rem}
  .hero-section-label{display:none}
  /* readout: 三行胶囊（状态/位置·顺序/实时胜率）+ 右侧文字说明的最大牌型 */
  .hero-readout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;gap:3px 8px;align-content:center;min-width:0;flex:1}
  .hero-ledger{display:flex;flex-direction:column;gap:4px;min-width:0}
  .hero-ledger-cell{gap:4px;padding:2px 8px;justify-content:flex-start}
  .hero-ledger-cell:first-child{padding-left:8px}
  .hero-ledger-label{font-size:.36rem;flex:none}
  .hero-ledger-value{font-size:.52rem;gap:4px}
  .hero-state-chip::before{width:4px;height:4px}
  .hero-best-hand{align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}
  .hero-best-hand-cards{display:none}
  .hero-best-hand-copy{flex-direction:column;align-items:flex-end;gap:1px}
  .hero-best-hand-copy strong{font-size:.56rem}
  .hero-best-hand-copy span{font-size:.38rem}
  .hero-badges{display:none}
  .hero-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hero-stat{padding:3px 2px 4px}
  .hero-stat>span{font-size:.38rem;letter-spacing:.05em}
  .hero-stat strong{font-size:.58rem}

  .expression-picker{flex:none;padding:4px 8px;gap:6px;border-radius:11px}
  .expression-picker-head{display:none}
  .expression-current{padding:3px 7px}
  .expression-current-face{font-size:.88rem}
  .expression-options{gap:5px}
  .expression-btn{min-height:28px;padding:3px 5px;gap:3px}
  .expression-btn .face{font-size:.78rem}
  .expression-copy small{font-size:.48rem}

  .controls{
    position:static;margin:0;
    width:100%;max-width:100%;min-width:0;
    padding:6px 8px;gap:5px;border-radius:12px;
    grid-template-columns:1fr 1fr 1.4fr;
    grid-template-areas:"fold call raise" "raisebox raisebox raisebox";
  }
  .controls.reveal-return-active{
    grid-template-columns:1fr 1fr;
    grid-template-areas:"fold call" "raise reveal";
    justify-content:stretch;
  }
  .action-btn{min-width:0;min-height:33px;font-size:.66rem;border-radius:10px;padding:0 6px;gap:4px}
  .action-btn.gold{min-width:0}
  .raise-btn-label{font-size:.66rem}
  .raise-btn-value{font-size:.64rem}
  .raise-box{min-height:33px;grid-template-columns:minmax(0,1fr) 78px;padding:0 4px 0 9px;gap:7px;border-radius:10px}
  .raise-input{height:27px;font-size:.7rem}
  #raiseRange{height:24px}

  /* AI thinking capsule: one slim line, right edge under the rail */
  .mobile-ai-wait{
    left:auto;right:8px;bottom:auto;top:calc(var(--mobile-rail-h) + 6px);transform:none;
    max-width:190px;padding:4px 9px;gap:6px;border-radius:10px;
  }
  .mobile-ai-wait-avatar{width:20px;height:20px;font-size:.46rem}
  .mobile-ai-wait-copy{flex-direction:row;align-items:center}
  .mobile-ai-wait-copy strong{font-size:.58rem;white-space:nowrap}
  .mobile-ai-wait-copy small{display:none}
  .sidebar{height:100vh;height:100dvh;border-radius:0}

  /* landscape modals use side sheets */
  .modal-layer{place-items:center;padding:8px}
  .modal{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px)}
}


/* mobile-console-layout-release-2026
   The player card and expression bar share the available command-column height.
   Nothing in the hero area requires an internal vertical scroll on compact phones. */
@media (max-width:1000px) and (orientation:landscape),(max-height:540px) and (orientation:landscape) and (pointer:coarse){
  .hero-info{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    gap:5px;
    min-height:0;
    overflow:hidden;
  }
  .hero-player-card{min-height:0;overflow:hidden}
  .hero-card-main,.hero-readout,.hero-best-hand{min-height:0}
  .expression-picker{min-height:0}
}
