.mobile-rotate-hint,#mobileFullscreen{display:none}
@media(max-width:600px) and (orientation:portrait){body:has(.game-table) .mobile-rotate-hint{display:block;position:fixed;bottom:0;left:0;right:0;z-index:20;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#183326f5;border-top:1px solid #b89b63;color:#ffdfa0;font-size:13px;text-align:center;pointer-events:none}body:has(.game-table){padding-bottom:64px}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 body:has(.game-table){padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}
 body:has(.game-table) .topbar{height:34px;padding:0 10px;gap:8px;max-width:none}body:has(.game-table) .brand{font-size:13px;gap:5px}body:has(.game-table) .brand-icon{width:24px;height:24px;font-size:19px}body:has(.game-table) .brand small,body:has(.game-table) .edition,body:has(.game-table) #accountLink,body:has(.game-table) #soundBtn{display:none}body:has(.game-table) .topbar nav{gap:12px}body:has(.game-table) .topbar .quiet{font-size:11px;min-height:30px}body:has(.game-table) #mobileFullscreen{display:block}
 body:has(.game-table) main{padding:3px 6px;max-width:none}.game-stage{height:calc(100dvh - 40px - env(safe-area-inset-bottom));min-height:260px;display:flex;flex-direction:column;gap:3px}.game-stage>.intro{flex:0 0 auto;min-height:19px;margin:0}.round-chip{padding:1px 8px;font-size:10px;line-height:1.2}.round-chip strong{font-size:14px}.round-chip .race-label{display:inline;margin:0 0 0 7px;font-size:10px}
 .game-table{display:grid;flex:1 1 0;min-height:0;grid-template-columns:minmax(100px,1fr) minmax(0,3.5fr) minmax(100px,1fr);gap:5px;align-items:stretch}.game-table .rail-left{grid-column:1;grid-row:1}.game-table .rail-right{grid-column:3;grid-row:1}.game-table .table-board{grid-column:2;grid-row:1}.game-table .player-rail{height:100%;min-height:0;grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:4px}
 .game-table .table-board{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);padding:4px;row-gap:0;border-radius:10px}.table-board .panel-top,.table-board .departure-dock,.table-board .board-foot{display:none}.table-board .board{height:100%;min-height:0;grid-template-rows:repeat(7,minmax(0,1fr));gap:3px}.table-board .tile{min-height:0;padding:0;border-radius:5px;gap:0}.table-board .tile-label{font-size:12px;line-height:1.15}.table-board .tile-icon,.table-board .tile-num,.table-board .tile:before{display:none}.table-board .tile.dark .tile-label{font-size:10px;max-width:none;white-space:nowrap}.board-pawn{height:22px}.board-pawn.crowded{height:18px}
 .game-table .seat-card,.game-table .seat-card:has(.seat-race-row){min-height:0;height:100%;padding:5px 6px;display:flex;flex-direction:column;justify-content:center;gap:3px;overflow:hidden;border-radius:8px}.seat-card .seat-header{padding:0;border:0;gap:3px;flex-wrap:nowrap;min-height:18px;width:100%}.seat-header .avatar,.seat-card .seat-header .seat-name small,.seat-card .seat-ledger,.seat-card .seat-bottom,.seat-card .seat-race-row{display:none}.seat-name{min-width:0}.seat-name strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-details{font-size:14px;margin-left:auto;min-width:24px;min-height:24px}.seat-card:has(.seat-race-row) .seat-finances{width:100%;display:grid;grid-template-columns:1fr;align-content:center;gap:2px;margin:0}.seat-finances>div{display:flex;justify-content:space-between;align-items:center;gap:3px}.seat-finances>div:nth-child(n+3){display:none}.seat-finances span{font-size:9px;margin:0}.seat-finances .seat-bitcoin span{font-size:0}.seat-finances .seat-bitcoin span:after{content:'BTC';font-size:9px}.seat-finances strong,.seat-finances .seat-bitcoin strong{font-size:11px;letter-spacing:0}.empty-seat .empty-avatar,.empty-seat small{display:none}.empty-seat strong{font-size:11px}
 .market-center{padding:3px 5px;margin:2px;border-radius:10px;min-height:0;justify-content:center;overflow:auto}.market-center .center-orbit,.market-center .center-chart,.market-center .price-stages,.market-center .center-change,.market-center .center-price-label{display:none}.market-center .race-goal{font-size:14px;line-height:1.2}.race-goal small{font-size:10px}.center-price{font-size:24px;line-height:1.15;margin:2px 0}.center-price small{font-size:10px}.market-center .turn-bar{padding:3px 5px;margin-top:3px;min-width:0;max-width:320px;gap:4px}.market-center .turn-bar .avatar,.market-center .turn-bar .dice{display:none}.market-center .turn-bar strong{font-size:12px}.market-center .turn-bar small{font-size:10px;line-height:1.2;margin:1px 0}.center-trades{margin-top:3px;gap:5px}.center-trades button{font-size:11px;padding:4px;min-height:30px}.market-center .roll-btn{padding:5px 4px;margin-top:3px;min-width:0;font-size:12px;min-height:32px}.market-center #reserveBtn,.market-center #repayBtn{font-size:10px;padding:1px;margin:0}
 .network-hud{flex:0 0 auto;margin:0;padding:2px 5px;gap:5px;font-size:10px}.network-hud b,.network-hud span,.network-hud .quiet{font-size:10px}.network-hud>div{gap:5px}.journey-notes{margin-top:12px}body:has(.game-table) footer{display:none}
 .overlay{padding:8px env(safe-area-inset-right) 8px env(safe-area-inset-left)}.modal{width:min(650px,94vw);max-height:calc(100dvh - 16px);padding:14px 18px;overflow-y:auto}.modal h2{font-size:21px;margin:6px 0}.modal>p{font-size:13px;line-height:1.5}.modal .primary,.modal .secondary{min-height:34px;padding:7px 12px;font-size:13px}
 .board-center.turn-auction-center{padding:2px}.turn-auction-card{max-width:none;padding:7px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:9px;border-radius:10px}.auction-card-top{grid-column:1/-1;font-size:10px;margin-bottom:4px}.turn-auction-card h2{grid-column:1;grid-row:2;font-size:16px;margin:3px 0;align-self:end}.turn-auction-card .auction-prize{grid-column:1;grid-row:3;font-size:10px;line-height:1.3}.turn-auction-high{grid-column:1;grid-row:4/6;padding:5px 0;margin:4px 0;justify-content:center}.turn-auction-high strong{font-size:24px}.turn-auction-high span{font-size:10px}.turn-auction-high small{display:none}.auction-turn-name{grid-column:2;grid-row:2;font-size:12px;margin:2px 0}.auction-round-actions{grid-column:2;grid-row:3/6;min-width:0}.auction-round-actions label{font-size:10px;margin:3px 0}.auction-round-actions input{padding:4px;font-size:13px;height:30px}.turn-bid-quick,.turn-bid-buttons{gap:4px;margin-top:4px}.turn-bid-quick button{font-size:10px;padding:3px 0;min-height:26px}.turn-bid-buttons button{font-size:11px;padding:5px 0;min-height:32px}.turn-auction-card .auction-turn-help{grid-column:1/-1;font-size:9px;margin:5px 0 0}.turn-auction-card .error{font-size:10px;line-height:1.2}.turn-auction-card .auction-wait{font-size:11px;padding:8px 0}.seat-card .seat-auction{width:100%;min-height:24px;padding:3px 4px;gap:2px;margin:0}.seat-auction span{font-size:9px}.seat-auction strong{font-size:13px}.seat-auction small{display:none}.seat-card:has(.seat-auction) .seat-finances>div:first-child{display:none}.seat-card:has(.seat-auction) .seat-finances{flex:none}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.turn-auction-card{padding:5px;column-gap:7px}.turn-auction-card h2{font-size:14px;line-height:1.15;letter-spacing:0;margin:2px 0}.turn-auction-card .auction-turn-help{display:none}.auction-card-top{margin-bottom:2px}.turn-auction-high{padding:3px 0;margin:2px 0}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.game-stage>.intro.centered-game-goal{min-height:22px}.centered-game-goal .round-chip{padding:2px 8px;gap:3px 7px}.centered-game-goal .round-chip .race-label{font-size:10px}.network-hud{min-height:24px;flex-wrap:nowrap}.network-hud .quiet{padding:2px;min-height:22px}.network-hud .watch-count{display:none}.network-hud>div{flex-wrap:nowrap}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1100px){.turn-auction-card{padding:3px 5px}}
/* Portrait is a supported layout, with full financial cards above the board. */
@media(max-width:600px) and (orientation:portrait){
 body.mobile-table-portrait{padding-bottom:0!important}
 body.mobile-table-portrait .mobile-rotate-hint{display:none!important}
 body.mobile-table-portrait #app{padding:8px!important;max-width:100%;overflow:visible}
 body.mobile-table-portrait .game-stage{height:auto!important;min-height:0;gap:9px}
 body.mobile-table-portrait .game-table{display:flex!important;flex-direction:column;gap:12px;width:100%;min-height:0;overflow:visible}
 .mobile-player-strip{display:flex;gap:10px;max-width:100%;min-width:0;overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;scroll-padding:8px;padding:10px 5px 9px;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#a4915c #11251b}
 body.mobile-table-portrait .mobile-player-strip .player-rail{display:contents!important}
 body.mobile-table-portrait .mobile-player-strip .seat-card{flex:0 0 min(320px,calc(100vw - 36px));width:min(320px,calc(100vw - 36px));height:266px;min-height:266px;scroll-snap-align:start;padding:12px;gap:7px;container-type:size;overflow:visible}
 body.mobile-table-portrait .mobile-player-strip .empty-seat{display:none!important}
 body.mobile-table-portrait .mobile-player-strip .seat-header{min-height:34px;padding-bottom:5px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-header .seat-name strong{font-size:17px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-header .seat-name small{font-size:11px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-finances{margin:0;gap:5px 8px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-finances span{font-size:11px!important;line-height:1.3!important}
 body.mobile-table-portrait .mobile-player-strip .seat-bitcoin strong{font-size:23px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-cash strong,body.mobile-table-portrait .mobile-player-strip .seat-worth strong{font-size:17px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-month-income strong,body.mobile-table-portrait .mobile-player-strip .seat-month-expense strong,body.mobile-table-portrait .mobile-player-strip .seat-flow strong{font-size:15px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-cost{font-size:10px!important}
 body.mobile-table-portrait .mobile-player-strip .seat-status-row{display:flex!important}
 body.mobile-table-portrait .mobile-player-strip .seat-debt{font-size:11px!important;min-height:24px!important}
 body.mobile-table-portrait .table-board{width:100%;height:650px!important;min-height:650px!important;display:grid!important;grid-template-rows:minmax(0,1fr)!important;row-gap:0;padding:5px!important;margin:0;overflow:visible;box-sizing:border-box}
 body.mobile-table-portrait .table-board .panel-top,body.mobile-table-portrait .table-board .departure-dock,body.mobile-table-portrait .table-board .board-foot{display:none}
 body.mobile-table-portrait .table-board .board{height:100%;min-height:0;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:3px}
 body.mobile-table-portrait .table-board .tile{min-height:0;padding:3px 0 0;border-radius:7px;gap:4px}
 body.mobile-table-portrait .table-board .tile-label{font-size:11px;line-height:1.3;white-space:normal;max-width:100%;word-break:normal}
 body.mobile-table-portrait .table-board .tile-icon{font-size:15px;line-height:1.2}
 body.mobile-table-portrait .table-board .tile-num{font-size:8px;top:3px;left:3px}
 body.mobile-table-portrait .market-center{min-height:0;height:auto;padding:8px 6px;justify-content:center;overflow:auto}
 body.mobile-table-portrait .market-center .center-price{font-size:27px;white-space:normal}
 body.mobile-table-portrait .market-center .center-price small{font-size:11px}
 body.mobile-table-portrait .market-center .race-goal{font-size:16px}
 body.mobile-table-portrait .market-center .turn-bar{padding:7px 5px;max-width:100%;gap:5px}
 body.mobile-table-portrait .market-center .turn-bar .avatar{width:23px;height:23px;flex:none}
 body.mobile-table-portrait .market-center .turn-bar .dice{font-size:22px}
 body.mobile-table-portrait .market-center .turn-bar strong{font-size:12px;line-height:1.5}
 body.mobile-table-portrait .market-center .turn-bar small{font-size:10px;line-height:1.5}
 body.mobile-table-portrait .market-center .center-trades{gap:5px;width:100%}
 body.mobile-table-portrait .market-center .center-trades button{font-size:12px;min-height:40px;padding:8px 3px}
 body.mobile-table-portrait .market-center .roll-btn{font-size:14px;min-height:44px;padding:8px 4px;white-space:normal}
 body.mobile-table-portrait .market-center #reserveBtn,body.mobile-table-portrait .market-center #repayBtn{font-size:11px}
 body.mobile-table-portrait .journey-notes{margin-top:18px}
}
body.mobile-table-portrait .game-stage>.intro.centered-game-goal{width:100%;min-width:0;gap:8px;margin:0}
body.mobile-table-portrait .centered-game-goal .round-chip{flex:1 1 0;min-width:0;display:flex;flex-wrap:wrap;gap:3px 7px;padding:6px 9px;white-space:normal}
body.mobile-table-portrait .centered-game-goal .round-chip .race-label{flex-basis:100%;margin:0;font-size:11px;line-height:1.4;white-space:normal}
body.mobile-table-portrait #turnCountdown{flex:none;min-width:60px;padding:0 6px}
body.mobile-table-portrait .mobile-player-strip .seat-card{height:292px;min-height:292px}
