#archive-city-tools { display: contents; }
.archive-city-hint { display: none; }
#MicropolisCanvas { touch-action: none; }

@media (any-pointer: coarse), (max-width: 820px), (max-height: 610px) {
  #tooSmall[data-hasscript=true] { display: none; }
  #wrapper { top: 35px; }
  #canvasContainer { bottom: 0; overflow: auto; }
  #splash, #start, .modal { box-sizing: border-box; width: min(540px, calc(100% - 20px)); }
  #splash { height: auto; top: 8px; transform: translateX(-50%); }
  #splashContainer, #splashButtonContainer, #splashButtons { position: static; }
  #splashContainer { margin-block: 8px; }
  #splashContainer canvas { max-width: 100%; max-height: 34vh; object-fit: contain; height: auto; }
  #splashButtons, #buttons, #miscButtons .inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
  }
  #splashButtons button, #buttons button, #miscButtons button, #playit, .modal button, .modal input[type=submit] {
    min-height: 44px;
  }
  #splashButtons button, #buttons button, #miscButtons button { width: 100%; margin: 0; }
  #start { max-height: calc(100% - 12px); overflow: auto; }
  .modal { max-height: calc(100% - 16px); overflow: auto; }
  body:not(.archive-city-playing) #footer { display: none; }
  #archive-edition-credit { font: 12px/1.45 sans-serif; margin-top: 10px; }

  .archive-city-playing #wrapper {
    top: 0;
    display: grid;
    grid-template-rows: minmax(140px, 1fr) minmax(100px, .85fr);
  }
  .archive-city-playing > header { display: none; }
  .archive-city-playing #canvasContainer { position: relative; overflow: hidden; min-height: 0; }
  .archive-city-playing #opaque { position: fixed; }
  #archive-city-tools {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 0;
    padding: 8px;
    overflow: auto;
    background: #eef3ed;
    border-top: 2px solid #466457;
  }
  .archive-city-hint { display: block; font: 13px/1.4 sans-serif; }
  #archive-city-tools :is(#infobar, #miscButtons, #controls, #RCIContainer, #footer) {
    position: static;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    min-width: 0;
  }
  #infobar .inner { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 10px; }
  #archive-city-tools #RCIContainer { max-width: 140px; }
  #archive-city-tools #controls { padding: 6px; }
  #archive-city-tools #footer { padding: 8px; }
  #notifications { width: calc(100% - 20px); top: auto; right: 0; bottom: 0; left: auto; transform: none; }
  #archive-city-tools button { touch-action: manipulation; }
}

@media (orientation: landscape) and (min-width: 540px) and (max-height: 610px) {
  .archive-city-playing #wrapper { grid-template-columns: minmax(0, 1fr) minmax(215px, 32%); grid-template-rows: minmax(0, 1fr); }
  #archive-city-tools { border-top: 0; border-left: 2px solid #466457; }
}
