@media (orientation: landscape) and (max-width: 900px) and (max-height: 500px) {
  #stage > #map {
    inset: 0 auto auto 0;
    width: 100vw;
    height: 100dvh;
    transform-origin: 0 0;
    transform: scale(var(--gff-inverse-scale, 1)) translate(calc(-1 * var(--gff-stage-x, 0px)), calc(-1 * var(--gff-stage-y, 0px)));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto auto;
    gap: 7px;
    align-content: start;
    padding: 7px 12px;
    overflow-y: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
  }
  #map .logo, #map .topstats, #map .mnav, #map .card, #map .daily {
    position: static;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  #map .logo { grid-column: 1; grid-row: 1; align-items: flex-start; animation: none; }
  #map .logo .l1 { font-size: 26px; }
  #map .logo .l2 { font-size: 36px; }
  #map .logo .l3 { display: none; }
  #map .topstats { grid-column: 2; grid-row: 1; align-self: start; }
  #map .chip { font-size: 15px; padding: 1px 7px; }
  #map .gd, #map .gc { width: 17px; height: 17px; }
  #map .mnav { grid-column: 1 / -1; grid-row: 2; flex-wrap: nowrap; justify-content: stretch; }
  #map .mnav button { flex: 1; min-width: 0; min-height: 44px; padding: 3px; font-size: 14px; }
  #map .card { grid-column: 1 / -1; grid-row: 3; padding: 7px 10px; border-width: 3px; }
  #map .ctitle { font-size: 23px; }
  #map .csub, #map .cline { font-size: 13px; }
  #map #btn-play { min-height: 48px; font-size: 24px; }
  #map .daily { grid-column: 1 / -1; grid-row: 4; min-height: 44px; flex-direction: row; align-items: center; gap: 8px; justify-content: center; text-align: center; }
  #map .daily small { margin: 0; }
}
