/* Keep controls inside notched-screen safe areas in either orientation. */
body:is([data-view="auction"],[data-view="ranking"],[data-view="chain"],[data-view="rooms"]){padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px)}
/* Game chrome stays compact in focused and expanded views. */
.site-header.play-header{position:sticky;top:0;background:#0d382df5;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;width:calc(100% - 32px);max-width:1180px;min-height:76px;margin:0 auto;padding:calc(13px + env(safe-area-inset-top,0px)) 20px 13px;color:var(--cream);border-bottom:1px solid #f5e8cb30;z-index:5}
.play-header :is(button,a,summary){min-height:44px;font-size:16px;line-height:1.25}
.play-back,.play-fullscreen,.play-menu>summary{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;height:48px;padding:8px 12px;border:1px solid #d9c59b60;border-radius:9px;background:#0c3229e8;color:var(--cream);font-weight:800;text-align:center}
.play-back .icon{width:18px;height:18px}
.play-heading{display:flex;flex-direction:column;gap:3px;min-width:0;padding-inline-start:6px}
.play-heading>strong{font-size:19px;line-height:1.15;overflow-wrap:anywhere}
.play-heading>[data-play-progress]{font-size:14px;line-height:1.25;color:#e8d9b9}
.play-fullscreen>[aria-hidden]{font-size:26px;line-height:1}
.play-fullscreen:disabled{cursor:default;opacity:.65}
.play-menu{position:relative;min-width:0}
.play-menu>summary{cursor:pointer;list-style:none}
.play-menu>summary::-webkit-details-marker{display:none}
.play-menu>summary::after{content:'▾';font-size:12px}
.play-menu[open]>summary::after{content:'▴'}
.play-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(var(--play-viewport-height,100dvh) - 104px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;padding:12px 16px;border:1px solid #9e8761;border-radius:12px;background:var(--paper) var(--paper-image) center/500px;color:var(--green);box-shadow:0 8px 24px #031e1780;z-index:10}
.play-menu-panel .text-button{display:flex;align-items:center;justify-content:flex-start;width:100%;gap:10px;padding:10px 6px;min-height:44px;font-size:16px;text-align:left;color:var(--green);background:none;border-radius:6px}
.play-menu-panel .text-button:hover{background:#183c3210}
.play-menu-panel .text-button .icon{width:18px;height:18px}
.play-menu-panel :focus-visible{outline-color:#164b35}
.play-menu-panel .challenge-context{margin:10px 0;padding:10px;box-shadow:none}
.play-menu-panel .challenge-context>summary{font-size:16px;min-height:44px}
.play-game-links{display:grid;gap:2px;border-top:1px solid #bba888;margin-top:8px;padding-top:8px}
.play-game-links>a{display:flex;align-items:center;padding:10px 6px;font-size:16px;border-radius:6px}
.play-game-links>a[aria-current]{font-weight:900;background:#183c3210}
.play-menu-note{font-size:13px;line-height:1.5;margin:10px 0 2px;color:#52664f}

/* Focus changes layout only. Engine state, forms and native scrolling stay intact. */
body[data-play-active="true"][data-play-focused="true"] .solo-game{width:calc(100% - 32px);max-width:1040px;margin:0 auto;padding:12px 0 calc(16px + env(safe-area-inset-bottom,0px));min-width:0}
body[data-play-active="true"][data-play-focused="true"] .solo-game .game-intro{display:none}
body[data-play-active="true"][data-play-focused="true"] .site-footer{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-game :is(button,input,summary){font-size:16px;min-height:44px}
body[data-play-active="true"][data-play-focused="true"] .solo-game :is(button,input,.rank-slot){scroll-margin-block:14px}
body[data-play-active="true"][data-play-focused="true"] .solo-game .button{min-height:44px;padding:10px 12px;font-size:16px;line-height:1.25}
body[data-play-active="true"][data-play-focused="true"] .solo-game .feedback{font-size:16px;line-height:1.4;margin-top:8px;padding:8px 10px;min-height:0}
body[data-play-active="true"][data-play-focused="true"] .solo-game .input-error{font-size:16px;line-height:1.4;margin:6px 0 0}
body[data-play-active="true"][data-play-focused="true"] .solo-game .input-error:empty{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-game .solo-secondary{margin-top:12px;border:1px solid #b9a57d;border-radius:12px;padding:0 12px;background:var(--paper) var(--paper-image) center/500px;color:var(--green);box-shadow:0 2px 0 #957c56}
body[data-play-active="true"][data-play-focused="true"] .solo-game .solo-secondary>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-size:16px;font-weight:800;line-height:1.35;padding:8px 0;list-style:inside}
body[data-play-active="true"][data-play-focused="true"] .solo-game .solo-secondary[open]{padding-bottom:12px}
body[data-play-active="true"][data-play-focused="true"] .solo-game .solo-secondary p{font-size:16px;line-height:1.5}

/* Auction: current lot, bid and pass precede collections and the recipe reference. */
body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:10px 14px;margin-bottom:12px;align-items:center}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-progress{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score{gap:10px;min-width:0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>div>strong{font-size:16px;white-space:normal;line-height:1.2}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>div>span{font-size:14px;line-height:1.25}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>b{font-size:26px;line-height:1}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>b>small{font-size:13px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .cpu{padding-left:12px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:20px;align-items:start}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-card{padding:16px 18px;border-radius:15px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-card-top{gap:8px;margin-bottom:8px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-card-top :is(.pill,.eyebrow){font-size:12px;letter-spacing:.4px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-presenter{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:center}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-food{width:100px;height:100px;margin:0;object-fit:contain}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-title{display:block;min-width:0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-title h2{font-size:30px;line-height:1.1;margin:4px 0;overflow-wrap:anywhere}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-title .eyebrow{font-size:12px;letter-spacing:.6px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .points-badge{display:inline-flex;font-size:14px;padding:4px 7px;margin-top:3px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-status{padding:8px 0;margin:8px 0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-status>span{font-size:12px;letter-spacing:.5px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-status>strong{font-size:26px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-status small{font-size:14px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-actions label{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:16px;margin-bottom:6px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-actions label>span{font-size:14px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-form-row{display:grid;grid-template-columns:134px minmax(0,1fr);gap:10px;align-items:stretch}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .stepper{display:flex;width:134px;min-width:0;justify-content:space-between}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .stepper>button{width:44px;min-width:44px;height:44px;padding:0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .stepper>input{width:44px;min-width:44px;font-size:18px;padding:4px 0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-form-row>.button{width:100%;gap:5px;padding:8px 6px;min-width:0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .pass-button{width:100%;font-size:16px;margin:5px 0 0;padding:8px;min-height:44px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-notes{background:none;border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;padding:0;margin-top:8px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-notes>summary{font-size:16px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-pairings{font-size:16px;margin:4px 0 8px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .collection-disclosure .collections{margin-top:8px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .brief-panel{order:0;min-width:0;padding:14px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .brief-disclosure>summary{min-height:44px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .brief-disclosure h2{font-size:24px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .brief-content :is(p,strong,span,b){font-size:16px;line-height:1.4}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .brief-teaser{font-size:14px}

/* Ranking: the current food and all five fixed choices share the first screen. */
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-brief{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;max-width:1000px;margin:0 auto;align-items:start}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-panel:not(:has(.ideal-list)){position:relative;top:auto;z-index:auto;display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:0 10px;padding:16px;min-width:0;border-radius:14px;text-align:left;box-shadow:0 3px 0 #b39a71,0 7px 14px #031e1744}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-panel>.eyebrow,body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-panel>.pill{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-food{grid-column:2;grid-row:1/3;align-self:center}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-food>img{width:90px;height:90px;margin:0;object-fit:contain}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-panel>h2{grid-column:1;font-size:28px;line-height:1.1;margin:0 0 7px}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-prompt{grid-column:1;font-size:16px;line-height:1.35;margin:0}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slots-title{margin:0 0 6px;align-items:center;gap:8px}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slots-title h2{font-size:21px;line-height:1.2}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slots-title>span{font-size:13px}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .scale-label{font-size:12px;letter-spacing:.7px;margin:5px 0}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .rank-slot{min-height:48px;margin-bottom:6px;padding:6px 10px;gap:10px;outline-offset:-4px;border-radius:9px;box-shadow:0 2px 0 #a58b61,0 3px 6px #041f1a33}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slot-number{width:29px;height:29px;flex:0 0 29px;font-size:18px}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .rank-slot>span:nth-child(2){font-size:16px}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .occupied>img{width:28px;height:28px;margin:0}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .occupied>strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slot-value{font-size:14px;gap:4px;flex-shrink:0}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .locked-stamp{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-notes{max-width:1000px;margin:12px auto 0}
body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-notes>summary{font-size:16px}

/* Chain: clue and answer first; full trail expands independently beside/below it. */
body[data-play-active="true"][data-play-focused="true"] .solo-chain .compact-progress{display:block;max-width:1000px;margin:0 auto 10px;padding:7px 12px;box-shadow:0 2px 0 #9e8761}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .compact-progress :is(.progress-label,.progress-track){display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-totals{font-size:16px;line-height:1.3;margin:0;text-align:center}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;max-width:1000px;margin:0 auto;align-items:start}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-clue{width:100%;min-width:0;padding:18px;border-radius:14px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-clue:has(#chain-form)>.eyebrow{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-clue h2{font-size:30px;line-height:1.15;margin:0 0 8px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .clue-description{font-size:16px;line-height:1.4;margin:8px 0}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .letter-count{margin:10px 0;gap:5px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .letter-count>span{width:14px;height:17px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .letter-count>b{font-size:14px;margin-left:4px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain #chain-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
body[data-play-active="true"][data-play-focused="true"] .solo-chain #chain-form>label{grid-column:1/-1;margin:0;font-size:16px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain #word-answer{width:100%;font-size:16px;min-height:44px;padding:10px;line-height:1.25}
body[data-play-active="true"][data-play-focused="true"] .solo-chain #chain-form>.button{min-height:44px;padding:10px;gap:6px;font-size:16px;margin:0;justify-content:center}
body[data-play-active="true"][data-play-focused="true"] .solo-chain #chain-error{grid-column:1/-1;margin:0}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;align-items:start}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .hint-button{width:100%;min-height:44px;margin:0;border:1px solid #a8b3a4;border-radius:9px;padding:8px 5px;font-size:16px;line-height:1.25;gap:4px;text-align:center;justify-content:center}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .hint-button>.icon{width:16px;height:16px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-skip{border:0;padding:0;margin:0}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-skip>.button{width:100%;padding:8px 5px;min-height:44px;font-size:16px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-skip-help{font-size:14px;line-height:1.35;color:#60442a;margin:6px 0 0}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-explanation{font-size:16px;margin-top:8px;padding-top:0}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-explanation>summary{min-height:44px;font-size:16px;line-height:1.35;align-content:center;padding:8px 0;cursor:pointer}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-explanation>p{font-size:16px;line-height:1.45}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-board-disclosure{margin:0}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-board{width:100%;padding:8px 0;background:none;border:0;box-shadow:none}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .board-heading{flex-wrap:wrap;gap:8px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .word-trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:none;margin-top:12px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-link{display:none}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .word-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:74px;padding:8px 4px;gap:5px;text-align:center}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .word-tile>strong{font-size:16px;letter-spacing:.4px;overflow-wrap:anywhere;max-width:100%}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .word-tile>span{font-size:12px;letter-spacing:.3px}
body[data-play-active="true"][data-play-focused="true"] .solo-chain .word-tile>.icon{width:16px;height:16px}

@media(max-width:900px){
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-layout,body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-layout{grid-template-columns:minmax(0,1fr);gap:12px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-layout{grid-template-columns:minmax(0,1fr);gap:12px;max-width:600px}
 body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-layout{max-width:600px}
}
@media(max-width:600px){
 .site-header.play-header{width:calc(100% - 16px);min-height:68px;gap:6px;grid-template-columns:44px minmax(0,1fr) 64px 48px;padding:calc(10px + env(safe-area-inset-top,0px)) 8px 10px}
 .play-back,.play-fullscreen,.play-menu>summary{min-height:44px;height:44px;padding:5px 4px;gap:3px}
 .play-back .icon,.play-menu>summary::after{display:none}
 .play-heading{padding-inline-start:0}
 .play-back .icon{width:17px;height:17px}
 .play-heading>strong{font-size:16px;line-height:1.15}
 .play-heading>[data-play-progress]{font-size:13px;line-height:1.2}
 .play-fullscreen{position:relative;display:block;line-height:1.1;padding:5px 4px}
 .play-fullscreen>[aria-hidden]{display:none}
 .play-fullscreen>[data-play-label]{display:block;font-size:14px;line-height:1.1;white-space:normal}
 .play-menu-panel{max-height:calc(var(--play-viewport-height,100dvh) - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
}
@media(max-width:520px){
 body[data-play-active="true"][data-play-focused="true"] .solo-game{width:calc(100% - 24px);padding-top:6px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-top{padding:8px 10px;gap:8px;margin-bottom:10px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .avatar{display:none}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score{gap:6px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>div>strong{font-size:15px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>div>span{font-size:13px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .player-score>b{font-size:24px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .cpu{padding-left:8px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-card{padding:12px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-presenter{grid-template-columns:72px minmax(0,1fr);gap:10px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-food{width:72px;height:72px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-title h2{font-size:25px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .lot-card-top .eyebrow{font-size:11px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-form-row{gap:8px}
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-form-row>.button>.icon{display:none}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-panel:not(:has(.ideal-list)){padding:12px;grid-template-columns:minmax(0,1fr) 68px;gap:0 8px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-food>img{width:68px;height:68px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .reveal-panel>h2{font-size:24px;margin-bottom:5px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-prompt{font-size:16px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .rank-slot{gap:8px;padding:6px 8px;min-height:46px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .occupied>img{width:24px;height:24px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slot-value{font-size:13px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .slots-title>span{font-size:12px}
 body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-notes>summary{font-size:16px}
 body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-clue{padding:14px}
 body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-clue h2{font-size:25px}
 body[data-play-active="true"][data-play-focused="true"] .solo-chain #chain-form>.button>.icon{display:none}
}
@media(max-height:600px) and (min-width:700px){
 body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-top{margin-bottom:8px}
 body[data-play-active="true"][data-play-focused="true"] .solo-chain .chain-layout,body[data-play-active="true"][data-play-focused="true"] .solo-ranking .ranking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;max-width:1040px}
 body[data-play-active="true"][data-play-focused="true"] .solo-game{padding-top:8px}
}
/* Live regions must not add a one-pixel document scroll below a fitted board. */
body[data-play-active="true"] :is(#announcer,[data-room-announcer]){position:fixed;top:0;left:0}

/* One table panel keeps the auction reference tools within the phone viewport. */
body[data-play-active="true"][data-play-focused="true"] .solo-auction .bid-actions{margin-top:6px}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-support{margin-top:0}
body[data-play-active="true"][data-play-focused="true"] .solo-auction .auction-support .brief-panel{padding:12px 0 0;background:none;border:0;box-shadow:none}

/* Short screens retain a reachable menu while content scrolls below the toolbar. */
html:has(.play-header){scroll-padding-top:calc(84px + env(safe-area-inset-top,0px))}
/* Disclosures remain recognizable as controls after removing native list layout. */
body[data-play-active="true"][data-play-focused="true"] .solo-game :is(.solo-secondary,.brief-disclosure,.chain-explanation)>summary{position:relative;padding-right:26px}
body[data-play-active="true"][data-play-focused="true"] .solo-game :is(.solo-secondary,.brief-disclosure,.chain-explanation)>summary::after{content:'+';position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:20px;line-height:1;font-weight:800}
body[data-play-active="true"][data-play-focused="true"] .solo-game :is(.solo-secondary,.brief-disclosure,.chain-explanation)[open]>summary::after{content:'−'}
