/* Reserve the controls first; the shared table uses the remaining viewport.
   Collection dialogs and the archive keep their normal scrolling behavior. */
.auction-screen{--game-header:58px;--console-height:112px}
.auction-screen .header{height:var(--game-header);min-height:0}
.auction-screen .header-actions .text-button{display:block}
.auction-screen main{height:calc(100dvh - var(--game-header));min-height:510px;padding:8px 28px 12px;display:flex;flex-direction:column}
.auction-screen .page-heading,.auction-screen .room-caption,.auction-screen .turn-track{display:none}
.auction-screen .overall-progress{flex:none;min-height:0;height:40px;padding:5px 14px;margin:0 0 8px}
.auction-screen .progress-caption{display:flex;align-items:center;gap:10px}
.auction-screen .progress-caption>span{margin:0}
.auction-screen .progress-caption strong{font-size:24px;line-height:1}
.auction-screen .overall-progress-middle{display:flex;flex-direction:row;align-items:center;gap:12px;max-width:none}
.auction-screen #auction-progress-track{flex:1}
.auction-screen #auction-progress-status{margin:0;white-space:nowrap;font-size:8px}
.auction-screen .audio-start-hint{flex:none;margin:0 0 6px;padding:5px 12px;font-size:9px}
.auction-screen .connection-banner{flex:none;margin:0 0 6px;padding:5px 12px;font-size:10px}
.auction-screen #auction-view{flex:1;min-height:0}
.auction-screen .table-room{height:100%;display:grid;grid-template-rows:minmax(0,1fr) var(--console-height);gap:12px}
.auction-screen .table-arena.auction-panel{height:auto;min-height:0;margin:8px 0 0;container-type:size;grid-column:1;grid-row:1;order:0}
.auction-screen .grand-table{top:72px;bottom:78px}
.auction-screen .table-player:is(.seat-north,.seat-south){min-height:68px;padding:6px 11px;gap:1px 9px}
.auction-screen .table-player:is(.seat-north,.seat-south) .auction-status{min-height:12px;padding-top:0}
.auction-screen .auction-center{top:50%}
.auction-screen .table-call{display:none}
.auction-screen .auction-center .exhibit,.auction-screen .auction-center #hero-art{height:clamp(92px,calc(100cqh - 292px),235px)}
.auction-screen .auction-center #hero-art{width:clamp(108px,calc(100cqh - 276px),245px)}
.auction-screen .auction-center .lot-info h2{font-size:18px;margin:3px 0}
.auction-screen .table-console{width:100%;max-width:1120px;height:100%;min-height:0;margin:0 auto;padding:9px 18px;gap:20px;align-self:end;grid-column:1;grid-row:2;order:0}
.auction-screen .table-side-composer{grid-template-columns:minmax(210px,.95fr) minmax(260px,1fr);column-gap:20px}
.auction-screen .table-checkout #bid-button,.auction-screen .table-checkout #pass-button{min-height:44px}
.auction-screen .table-feedback{line-height:1.5}
.auction-screen .table-console .auction-finished{gap:7px;padding:0}
.auction-screen .auction-finished .finished-title{font-size:15px}
.auction-screen .auction-finished .finished-description{font-size:10px}
@media(min-width:801px){.auction-screen .bet-west{left:46px}.auction-screen .bet-east{right:46px}}
@media(min-width:1101px){.auction-screen .bet-south{left:calc(50% - 146px);transform:translateX(-100%)}}

@media(min-width:801px) and (max-width:1100px){
 .auction-screen main{padding-right:20px;padding-left:20px}
 .auction-screen .table-console{gap:14px;padding-right:12px;padding-left:12px}
 .auction-screen .table-console .bid-top{width:125px;padding-right:10px}
 .auction-screen .table-side-composer{grid-template-columns:minmax(180px,.85fr) minmax(230px,1fr);column-gap:12px}
 .auction-screen .table-checkout{grid-template-columns:55px 1fr auto;gap:6px}
 .auction-screen .table-bet{width:152px}
 .auction-screen .bet-south{left:26%}
 .auction-screen .table-bet .pile-coins{width:33px;height:34px}
 .auction-screen .table-bet .table-coin,.auction-screen .table-bet .gold-coin{width:34px;height:34px}
 .auction-screen .table-bet .gold-coin b{font-size:21px}
 .auction-screen .auction-center{width:204px}
}

@media(min-width:801px) and (max-height:700px){
 .auction-screen{--game-header:50px;--console-height:104px}
 .auction-screen main{padding-top:6px;padding-bottom:6px}
 .auction-screen .overall-progress{height:32px;margin-bottom:6px;padding-top:3px;padding-bottom:3px}
 .auction-screen .table-room{gap:10px}
 .auction-screen .table-arena.auction-panel{margin-top:6px}
 .auction-screen .grand-table{top:66px;bottom:66px}
 .auction-screen .table-console{padding-top:5px;padding-bottom:5px}
}

@media(max-width:800px){
 .auction-screen{--game-header:76px;--console-height:190px}
 .auction-screen .header{padding:5px 12px 0;gap:1px 8px;align-content:space-between}
 .auction-screen .header nav{height:30px;gap:28px}
 .auction-screen .brand{font-size:17px;gap:7px}
 .auction-screen .brand-mark{width:23px;height:28px;font-size:20px;line-height:26px}
 .auction-screen .header-actions{gap:4px}
 .auction-screen .header-actions .text-button{font-size:8px;padding:4px}
 .auction-screen .header-actions .text-button span{margin-left:2px}
 .auction-screen .header-actions .outline-button{padding:6px;font-size:8px;gap:4px}
 .auction-screen .header-actions .outline-button .icon{width:11px}
 .auction-screen main{min-height:550px;padding:6px 10px max(8px,env(safe-area-inset-bottom))}
 .auction-screen .overall-progress{height:34px;padding:4px 10px;margin-bottom:6px;gap:12px}
 .auction-screen .progress-caption{gap:7px}
 .auction-screen .progress-caption>span{font-size:8px}
 .auction-screen .progress-caption strong{font-size:23px}
 .auction-screen .overall-progress-middle{display:grid;grid-template-rows:4px 12px;gap:3px}
 .auction-screen #auction-progress-status{font-size:7px}
 .auction-screen .table-room{gap:10px}
 .auction-screen .table-arena.auction-panel{margin-top:8px}
 .auction-screen .grand-table{inset:61px 16px 64px;border-width:8px}
 .auction-screen .table-player:is(.seat-north,.seat-south){min-height:56px;width:214px;padding:4px 9px;grid-template-columns:26px 1fr 46px;gap:0 7px}
 .auction-screen .table-player:is(.seat-north,.seat-south) .avatar{width:25px;height:25px;font-size:18px}
 .auction-screen .table-player:is(.seat-north,.seat-south) .player-collection-preview{gap:0}
 .auction-screen .table-player:is(.seat-north,.seat-south) .player-relic-slot{width:23px;height:24px;min-width:23px}
 .auction-screen .table-player:is(.seat-north,.seat-south) .player-last-win{line-height:1.4}
 .auction-screen .table-player.player-card:is(.seat-west,.seat-east){top:50%;min-height:110px;padding:6px;gap:1px 4px;width:88px}
 .auction-screen .table-player .player-last-win{padding:2px 0}
 .auction-screen .table-player.active:before{font-size:7px;padding:2px 8px;top:-11px}
 .auction-screen .auction-center{width:176px}
 .auction-screen .auction-center .exhibit,.auction-screen .auction-center #hero-art{height:clamp(80px,calc(100cqh - 324px),180px)}
 .auction-screen .auction-center #hero-art{width:clamp(90px,calc(100cqh - 314px),184px)}
 .auction-screen .auction-center .lot-info h2{font-size:14px;line-height:1.5;margin:3px 0}
 .auction-screen .auction-center .point-seal{width:27px;height:27px;right:4px;bottom:12px}
 .auction-screen .auction-center .point-seal strong{font-size:18px}
 .auction-screen .auction-center .pedestal{width:100px}
 .auction-screen .auction-center .item-tags{gap:4px;margin:3px 0 4px}
 .auction-screen .auction-center .item-trait{padding:3px 2px}
 .auction-screen .item-trait strong{font-size:11px}
 .auction-screen .item-trait small{font-size:6px}
 .auction-screen .table-bet{width:112px;height:68px}
 .auction-screen .table-bet .table-piles{height:48px}
 .auction-screen .table-bet .pile-coins{width:25px;height:28px}
 .auction-screen .table-bet .table-coin,.auction-screen .table-bet .gold-coin{width:28px;height:28px}
 .auction-screen .table-bet .gold-coin b{font-size:17px}
 .auction-screen .table-bet .gold-coin small{font-size:3px}
 .auction-screen .bet-north{left:auto;right:6px;top:5px;transform:none}
 .auction-screen .bet-west{left:6px;top:5px;transform:none}
 .auction-screen .bet-south{left:6px;bottom:5px;transform:none}
 .auction-screen .bet-east{left:auto;right:6px;top:auto;bottom:5px;transform:none}
 .auction-screen .table-console{display:block;padding:8px 12px;border-radius:10px}
 .auction-screen .table-console .bid-top{padding:0 0 5px;height:30px}
 .auction-screen .table-console .current-price{gap:7px}
 .auction-screen .table-console .current-price strong{font-size:25px}
 .auction-screen .table-console .timer{width:28px;height:28px;min-width:28px}
 .auction-screen .table-console .timer-number{font-size:17px}
 .auction-screen .table-side-composer{grid-template-columns:1fr;gap:3px}
 .auction-screen .table-side-composer .coin-rack{grid-column:1;grid-row:1;padding:3px 8px;gap:8px}
 .auction-screen .table-side-composer .rack-stack{width:40px;height:42px}
 .auction-screen .table-side-composer .rack-stack>.gold-coin{width:40px;height:40px}
 .auction-screen .table-side-composer .rack-stack>i{width:38px;height:39px}
 .auction-screen .table-side-composer .rack-stack>.gold-coin b{font-size:24px}
 .auction-screen .table-side-composer .rack-count{margin-top:0;line-height:1.2}
 .auction-screen .table-side-composer .table-checkout{grid-column:1;grid-row:2;grid-template-columns:66px 1fr 68px;gap:8px;margin:2px 0 0}
 .auction-screen .table-side-composer .table-total small{font-size:7px;line-height:1.2}
 .auction-screen .table-side-composer .table-total strong{font-size:25px;line-height:1}
 .auction-screen .table-side-composer .table-checkout #bid-button{font-size:12px;padding:10px}
 .auction-screen .table-side-composer .table-checkout #pass-button{font-size:10px;padding:10px 4px}
 .auction-screen .table-side-composer .table-tools{grid-column:1;grid-row:3;margin:0;line-height:1.2;justify-content:space-between}
 .auction-screen .table-side-composer .table-tools button{font-size:8px;padding:2px}
 .auction-screen .table-side-composer .table-feedback{grid-column:1;grid-row:4;margin:0;min-height:12px;font-size:7px;line-height:1.4}
 .auction-screen .table-console .start-copy{margin-bottom:8px}
 .auction-screen .table-console .auction-finished{height:100%;align-content:center;gap:12px}
}

/* Short portrait screens keep the full controls, with a smaller display piece. */
@media(max-width:520px) and (max-height:740px){
 .auction-screen{--game-header:70px;--console-height:180px}
 .auction-screen .header nav{height:27px}
 .auction-screen main{min-height:550px;padding-right:8px;padding-left:8px}
 .auction-screen .grand-table{inset:57px 8px 58px;border-width:7px}
 .auction-screen .table-player:is(.seat-north,.seat-south){min-height:52px;padding:3px 8px}
 .auction-screen .table-player.player-card:is(.seat-west,.seat-east){min-height:0;width:82px;padding:4px;gap:0 3px}
 .auction-screen .table-player:is(.seat-west,.seat-east) .avatar{display:none}
 .auction-screen .table-player:is(.seat-west,.seat-east) .player-identity{grid-column:1/-1}
 .auction-screen .table-player:is(.seat-west,.seat-east) .player-name{font-size:8px}
 .auction-screen .table-player:is(.seat-west,.seat-east) .player-stats{margin:2px 0 0}
 .auction-screen .table-player:is(.seat-west,.seat-east) .auction-status{min-height:12px;font-size:6px}
 .auction-screen .table-player:is(.seat-west,.seat-east) .player-collection-preview{font-size:6px;gap:3px}
 .auction-screen .table-player:is(.seat-west,.seat-east) .player-relic-slot{width:20px;min-width:20px;height:23px}
 .auction-screen .table-player:is(.seat-west,.seat-east) .player-last-win{font-size:5px;padding:1px 0}
 .auction-screen .auction-center{width:150px}
 .auction-screen .auction-center .lot-topline,.auction-screen .table-call{display:none}
 .auction-screen .auction-center .exhibit,.auction-screen .auction-center #hero-art{height:clamp(64px,calc(100cqh - 270px),120px)}
 .auction-screen .auction-center #hero-art{width:clamp(74px,calc(100cqh - 260px),130px)}
 .auction-screen .auction-center .lot-info h2{font-size:12px}
 .auction-screen .auction-center .item-trait{padding:3px 1px}
 .auction-screen .item-trait strong{font-size:10px}
 .auction-screen .table-bet{width:88px;height:60px}
 .auction-screen .table-bet .table-piles{height:41px}
 .auction-screen .table-bet .pile-coins{width:20px;height:24px}
 .auction-screen .table-bet .table-coin,.auction-screen .table-bet .gold-coin{width:24px;height:24px}
 .auction-screen .table-bet .gold-coin b{font-size:15px}
 .auction-screen .bet-north,.auction-screen .bet-east{right:-7px}
 .auction-screen .bet-west,.auction-screen .bet-south{left:-7px}
 .auction-screen .bet-north,.auction-screen .bet-west{top:-13px}
 .auction-screen .bet-south,.auction-screen .bet-east{bottom:-14px}
 .auction-screen .bet-label small>span{display:none}
 .auction-screen .table-bet.has-coins .bet-label{font-size:16px}
 .auction-screen .table-console{padding:6px 9px}
 .auction-screen .table-side-composer .coin-rack{padding:2px 8px}
 .auction-screen .table-side-composer .rack-stack{height:39px}
 .auction-screen .table-side-composer .rack-stack>.gold-coin{height:37px;width:37px}
 .auction-screen .table-side-composer .rack-stack>i{height:36px;width:35px}
}
