/* Large windows grow the play area. Compact/mobile layouts retain their controls-first sizing. */
@media (min-width:761px) and (min-height:600px){
  main:has(#game-container[data-session]){max-width:none}
  #game-container[data-session] :is(.play-panel,.sn-play,.rw-play,.session-play,.ms-play,.cb-play){min-height:calc(100dvh - 185px)}
  #game-container[data-session] .session-workspace{align-items:stretch}
  #game-container[data-session] .session-side{align-self:stretch}
  #game-container[data-session] .session-side>.session-console{flex:1;max-height:calc(100dvh - 185px);overflow:auto}
  #game-container[data-session] #cube-stage{height:max(230px,calc(100dvh - 350px))}
  #game-container[data-session=soma] .soma-stage-wrap #soma-stage{height:max(190px,calc(100dvh - 500px))}
  #game-container[data-session=serpiente] .sn-play .sn-stage{height:max(230px,calc(100dvh - 310px))}
  #game-container[data-session=serpiente] .sn-play .sn-console{align-self:stretch}
  #game-container[data-session=rueda] .rw-play{max-width:none;width:100%}
  #game-container[data-session=rueda] .rw-view{height:max(240px,calc(100dvh - 365px))}
  #game-container[data-session=rueda] .rw-stage:has(+.rw-win:not([hidden])) .rw-view{height:max(210px,calc(100dvh - 405px))}
  #game-container[data-session=atascos] #traffic-stage{height:max(260px,calc(100dvh - 275px))}
  #game-container[data-session=laseres] #laser-stage{height:max(260px,calc(100dvh - 270px))}
  #game-container[data-session=sokoban] #soko-stage{height:max(250px,calc(100dvh - 275px))}
  #game-container[data-session=tangram] #tg-stage{height:max(230px,calc(100dvh - 355px))}
  #game-container[data-session=hanoi] #hn-stage{height:max(250px,calc(100dvh - 290px))}
  #game-container[data-session=quince] .qz-play{display:flex;flex-direction:column}
  #game-container[data-session=quince] .qz-table{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}
  #game-container[data-session=quince] #qz-stage{max-width:none;width:min(92%,max(240px,calc(100dvh - 360px)));flex-shrink:0}
  #game-container[data-session=quince] .qz-stage{perspective:1800px;container-type:inline-size}
  #game-container[data-session=quince] .qz-tile>span{font-size:clamp(28px,6.8cqw,76px)}
  #game-container[data-session=nonogramas] #ng-stage{max-width:none;width:min(100%,max(270px,calc(100dvh - 510px)))}
  #game-container[data-session=clave-secreta] .mm-history{max-height:max(140px,calc(100dvh - 510px))}
  #game-container[data-session=mosaico] .ms-play .ms-board{height:max(240px,calc(100dvh - 270px))}
  #game-container[data-session=canica] .cb-play .cb-stage{height:max(260px,calc(100dvh - 275px))}
  #game-container[data-session=puentes] .br-sea{height:max(330px,calc(100dvh - 275px))}
}
