/* Phone and tablet builder: reserve separate space for navigation and tools. */
@media (max-width:1000px) {
  .in-game .brand {min-width:0;gap:8px;font-size:14px}
  .in-game .brand i {display:none}
  .in-game .menu-toggle {display:block;margin-left:auto}
  .in-game nav {display:none;position:absolute;top:58px;left:0;right:0;height:auto;flex-direction:column;background:#173536}
  .in-game nav.open {display:flex}
  .in-game nav a {min-height:48px}
  .transit-game .map-tools {top:8px;left:8px;right:8px;max-width:none;justify-content:center}
  .transit-game .map-tools button {flex:0 0 auto;padding:0 6px}
  .transit-game .map-tools button span {font-size:12px}
  .transit-game .map-help {top:66px;left:12px;right:12px;transform:none;max-width:none;font-size:12px;line-height:1.35}
  .transit-game .map-rail {top:116px;right:8px;left:auto}
  .transit-game .city-map-nav {bottom:calc(72px + env(safe-area-inset-bottom));left:8px;right:8px;transform:none;max-width:none;border-radius:12px;overscroll-behavior-x:contain;scrollbar-width:thin}
  .city-map-nav button {min-width:64px;font-size:12px}
  .transit-game .mission-card {bottom:calc(132px + env(safe-area-inset-bottom));max-height:150px;overflow:auto;max-width:calc(100% - 80px)}
  .transit-game .show-mission {bottom:calc(132px + env(safe-area-inset-bottom));min-height:44px}
  .transit-game .build-prompt {bottom:calc(132px + env(safe-area-inset-bottom))}
  .transit-game .control-desk {height:min(72dvh,650px);max-height:calc(100% - 8px);padding-left:12px;padding-right:12px}
  .control-desk .mobile-desk-close {flex-shrink:0;min-height:44px;touch-action:pan-y}
  .control-desk .desk-pages {touch-action:pan-y;overflow-x:hidden}
  .control-desk .desk-tabs {margin:4px 0;min-height:48px;scrollbar-width:thin}
  .control-desk .desk-tabs button {min-width:64px}
  .control-desk .desk-heading {padding:4px 0 8px}
  .control-desk .quick-line-picker .line-picker {grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}
  .control-desk .quick-line-picker .line-choice {min-height:44px}
  .desk-open .map-tools,.desk-open .map-help,.desk-open .mission-card,.desk-open .show-mission,.desk-open .build-prompt,.desk-open .waypoint-toolbar,.desk-open .mobile-desk-toggle {visibility:hidden}
  .game-dialog {box-sizing:border-box;width:calc(100% - 16px);max-width:600px;max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;padding:22px 16px;padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .game-dialog input,.game-dialog textarea,.game-dialog select {font-size:16px!important;min-width:0;max-width:100%}
  .game-dialog canvas,.game-dialog img {max-width:100%;height:auto}
  .game-dialog button {white-space:normal;overflow-wrap:anywhere}
  .transit-game .waypoint-toolbar {top:108px;left:8px;right:60px;width:auto;max-width:none;transform:none;flex-wrap:wrap}
  .waypoint-toolbar span {white-space:normal}
  .journey-invitation {bottom:calc(132px + env(safe-area-inset-bottom))}
  #toast {bottom:calc(132px + env(safe-area-inset-bottom));pointer-events:none}
}
@media (max-width:600px) {
  .transit-game .control-desk {height:85dvh}
  .control-desk .desk-heading .overline,.control-desk .system-totals {display:none}
  .control-desk .desk-heading {padding:0 0 6px}
  .control-desk .network-title {font-size:13px!important}
  .control-desk .desk-footer {margin-top:0}
}
@media (max-width:1000px) and (max-height:520px) {
  .transit-game .map-tools {right:auto;width:auto;max-width:calc(100% - 64px)}
  .transit-game .map-help {top:64px;right:64px;left:12px}
  .transit-game .map-rail {top:8px}
  .transit-game .control-desk {height:calc(100% - 8px);max-height:calc(100% - 8px);width:min(430px,100%)}
  .transit-game .mission-card,.transit-game .show-mission {display:none}
  .transit-game .mobile-desk-toggle {left:auto;width:180px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom))}
  .transit-game .city-map-nav {left:8px;right:196px;bottom:calc(8px + env(safe-area-inset-bottom))}
}
