/* A native selector keeps all supported languages accessible in the narrow rails. */
.language-select {
  box-sizing: border-box;
  display: block;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 38px;
  padding: 4px;
  border: 1px solid rgba(17, 16, 14, .22);
  border-radius: 6px;
  background: var(--panel-paper, #fffdf7);
  color: var(--ink, #171611);
  font: 600 12px/1.2 var(--font-main, sans-serif);
  cursor: pointer;
}
.language-select:focus-visible { outline: 2px solid var(--accent, #bd3d29); outline-offset: 2px; }
html body.is-map-active .command-mast .command-utility-tray .mast-language-toggle {
  display: block;
  padding: 0 0 0 4px;
  min-width: 0;
}
html body .mobile-map-language-toggle,
html body .mobile-settings-language-toggle,
html body .mobile-network-reader-language {
  display: block;
  width: 138px;
  min-width: 138px;
}
.mobile-sheet .language-select,
.mobile-network-reader-language .language-select { min-height: 44px; font-size: 16px; }
html body :is(.mobile-map-language-toggle, .mobile-settings-language-toggle, .mobile-network-reader-language) > select.language-select {
  height: 44px;
  min-height: 44px;
  font-size: 16px;
}
body.lang-zh-Hant {
  --font-main: "Source Sans 3", "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", sans-serif;
  --font-serif: "Source Serif 4", "Songti TC", "PMingLiU", serif;
  --font-editorial: var(--font-serif);
  --font-rail-label: var(--font-main);
}
body.lang-zh-Hant :is(button, label, summary, h1, h2, h3) { letter-spacing: normal; }
html:not([lang="en"]) .home-finder-place-controls label { min-width: 0; overflow-wrap: anywhere; }
html[lang="vi"] body {
  --font-main: "Segoe UI", Arial, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --font-editorial: var(--font-serif);
  --font-rail-label: var(--font-main);
}
html:not([lang="en"]) .mobile-launch-copy > strong { font-size: clamp(1rem, 4.5vw, 1.25rem); }
html:not([lang="en"]) .mobile-network-story-button { max-width: 88px; }
html:not([lang="en"]) .commute-fit-candidate-average { max-width: 100px; }
html:not([lang="en"]) .commute-fit-candidate-average > small { white-space: normal; line-height: 1.3; }
@media (min-width: 981px) {
  html:not([lang="en"]) body.is-map-active #mobileSurfaceRail.map-surface-rail {
    top: 72px;
    left: 14px;
    right: auto;
  }
}
@media (max-width: 360px) {
  html[data-material-prototype="relief"]:not([lang="en"]) body.is-map-active.is-route-mode #mobileSheet[data-snap] .mobile-route-card :is(.home-finder-add-input-row, .home-finder-baseline-input-row) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 430px) {
  html:not([lang="en"]) body.is-map-active #mobileMapContextBar.mobile-map-context-bar {
    grid-auto-flow: row;
    grid-template-columns: minmax(0, 1fr) auto;
    height: auto;
    gap: 6px 8px;
    justify-content: space-between;
  }
  html:not([lang="en"]) body.is-map-active #mobileMapContextBar #mobileSurfaceMenuButton {
    width: 100%;
    min-width: 0;
    grid-template-columns: 16px minmax(0, 1fr) 8px;
  }
  html:not([lang="en"]) body.is-map-active #mobileMapContextBar .mobile-surface-menu-label {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.15;
  }
}
