/* Gameplay fills the available screen; lessons and account pages can still scroll. */
body:not(.signed-out):has(#world-view:not([hidden])) {
  display:flex;
  flex-direction:column;
  height:100vh;
  height:100dvh;
  padding-bottom:0;
  overflow:hidden;
}
body:not(.signed-out):has(#world-view:not([hidden])) > .topbar {
  flex:none;
}
body:not(.signed-out):has(#world-view:not([hidden])) > main {
  flex:1;
  min-height:0;
}
body:not(.signed-out) #world-view:not([hidden]) {
  height:100%;
}
body:not(.signed-out) #world-view > .world-viewport {
  height:100%;
  min-height:0;
  max-height:none;
  aspect-ratio:auto;
  /* Focusing chat must not scroll the oversized scenery inside the viewport. */
  overflow:clip;
}
body:not(.signed-out) #world-view > .world-footer,
body:not(.signed-out) #world-view > .adventure-strip,
body:not(.signed-out):has(#world-view:not([hidden])) > .site-footer {
  display:none;
}
.world-help {font-size:20px;font-weight:700}

@media(max-width:1000px) {
  /* Let the real menu height, including the safe area, determine the game space. */
  body:not(.signed-out):has(#world-view:not([hidden])) > .member-bottom-nav {
    position:static;
    flex:none;
  }
  .world-corner .icon-button {width:44px;height:44px}
}
@media(min-width:781px) and (max-width:1000px) {
  /* Keep the controls clear of the centered chat bar on narrow landscape screens. */
  .world-viewport .world-corner {top:12px;bottom:auto;right:12px}
}
