/* The same Search and Directions components, arranged beside the desktop map. */
.map-search-nearby {position:fixed;z-index:2401;display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 14px;box-sizing:border-box;border:1px solid #dadce0;border-radius:24px;background:#fff;color:#3c4043;box-shadow:0 1px 3px #3c40434d,0 1px 2px #3c404326;font:500 14px/1.2 var(--font-body,system-ui);letter-spacing:.1px;white-space:nowrap;overflow:hidden;isolation:isolate;cursor:pointer;transition:background-color .16s,color .16s,box-shadow .16s,border-color .16s;}
.map-search-nearby[hidden] {display:none!important;}
.map-search-nearby {font-family:var(--ui-map-font,"Google Sans Text","Noto Sans TC",Arial,sans-serif);}
body:is(.workspace-open,.flight-sim-active,.is-street-view-open,.hud-hidden,.jpg-framing,.guru-routing) .map-search-nearby {visibility:hidden;}
.map-search-nearby svg {width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.map-search-nearby:hover {background:#f8f9fa;box-shadow:0 2px 5px #3c40434d;}
.map-search-nearby[aria-pressed=true] {background:#e8f0fe;color:#1967d2;border-color:#d2e3fc;}
.map-search-nearby[aria-pressed=true]:hover {background:#dfe9fc;}
.map-search-nearby:active {background:#e0e3e7;box-shadow:0 1px 2px #3c404333;}
.map-search-nearby[aria-pressed=true]:active {background:#d2e3fc;}
.historical-poi-ripple {position:absolute;z-index:-1;width:240px;height:240px;margin:-120px;border-radius:50%;background:currentColor;pointer-events:none;animation:historical-poi-ripple .45s ease-out forwards;}
@keyframes historical-poi-ripple {from {transform:scale(0);opacity:.16;}to {transform:scale(1);opacity:0;}}
html[data-theme=dark] .map-search-nearby {background:#303134;color:#e8eaed;border-color:#5f6368;}
html[data-theme=dark] .map-search-nearby:hover {background:#3c4043;}
html[data-theme=dark] .map-search-nearby[aria-pressed=true] {background:#394457;color:#aecbfa;border-color:#526789;}
@media(prefers-reduced-motion:reduce) {.map-search-nearby {transition:none;}.historical-poi-ripple {display:none;}}
.map-search-nearby:focus-visible,.time-period-all:focus-visible {outline:2px solid var(--ui-link,#012169);outline-offset:2px;}
#timePeriodPanel .time-period-slider {padding-left:62px;box-sizing:border-box;}
#timePeriodPanel .time-period-all {position:absolute;left:0;top:50%;transform:translateY(-50%);min-width:48px;min-height:34px;padding:6px 10px;border:1px solid currentColor;border-radius:18px;background:transparent;color:inherit;font:600 12px var(--font-body,system-ui);cursor:pointer;}
#timePeriodPanel .time-period-all[aria-pressed=true] {background:var(--ui-link,#012169);color:var(--ui-surface,#fff);border-color:transparent;}
#timePeriodPanel.is-all-periods .time-period-track {opacity:.45;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) #timePeriodPanel .time-period-slider {padding-left:58px;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) #timePeriodPanel .time-period-all {min-height:44px;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .map-search-nearby {display:none!important;}
.app-search-recents[hidden],.app-search-list[hidden] {display:none!important;}
.app-search-recent-item {display:flex;align-items:center;gap:4px;}
.app-search-recent {display:flex;align-items:center;gap:14px;flex:1;min-width:0;min-height:52px;padding:10px 16px;border:0;border-radius:0;background:transparent;color:var(--app-ink);font:400 14px/1.4 var(--font-body);text-align:left;}
.app-search-recent>svg {flex:none;width:22px;height:22px;color:var(--app-muted);}
.app-search-recent>span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.app-search-recent-remove {flex:none;width:36px;height:36px;padding:5px;margin-right:6px;border:0;border-radius:50%;background:transparent;color:var(--app-muted);font:22px/1 system-ui;}
.app-search-recent:hover,.app-search-recent-remove:hover {background:var(--app-selected);}
.app-search-recents button:focus-visible {outline:2px solid var(--app-accent);outline-offset:-3px;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) #mapSearch .app-search-recent-remove {min-width:44px;min-height:44px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) {
  --app-surface:#f5f6f8;--app-raised:#fff;--app-ink:#172033;--app-muted:#626b78;
  --app-line:#d9dee5;--app-selected:#f0f2f5;--app-accent:#012169;
  --app-shadow:0 3px 12px #17203326;--desktop-search-top:10px;
  --desktop-search-width:clamp(320px,27vw,420px);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet])[data-theme=dark] {
  --app-surface:var(--ui-recess,#171d27);--app-raised:var(--ui-panel,#202938);--app-ink:var(--ui-text,#edf1f7);--app-muted:var(--ui-muted,#b8c1cf);
  --app-line:var(--ui-border,#404956);--app-selected:var(--ui-hover,#303a48);--app-accent:var(--ui-link,#9bbdff);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapApplication #mapSearch.app-unified-search {
  top:var(--desktop-search-top);left:auto;right:max(72px,var(--header-search-right,20px));width:var(--header-search-width,280px);
  max-width:calc(100vw - 32px);display:flex;flex-direction:column;
  z-index:2400;
  max-height:calc(var(--app-viewport-height,100dvh) - var(--desktop-search-top) - 108px);
  border:1px solid var(--app-line);border-radius:12px;background:var(--app-raised);
  color:var(--app-ink);box-shadow:var(--app-shadow);overflow:hidden;transition:none;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapApplication #mapSearch.app-unified-search.is-open {width:var(--desktop-search-width);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search:not(.is-open) {border-radius:24px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search :is(#mapSearchMode,#mobileSearchHeader,#results,#mapSearchOptions),
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #btnPointLabels {display:none!important;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search .map-search__bar {
  flex:none;width:100%;box-sizing:border-box;min-height:var(--header-control-height,42px);height:var(--header-control-height,42px);padding:3px 6px;
  gap:2px;border:0;border-radius:12px;background:var(--app-raised);color:var(--app-ink);box-shadow:none;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search .map-search__bar:focus-within {box-shadow:inset 0 0 0 2px var(--app-accent);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search .map-search__input {
  display:block;flex:1;width:auto;min-width:0;height:36px;padding:6px 4px;color:var(--app-ink);visibility:visible;pointer-events:auto;
  font:400 14px var(--ui-map-font,"Google Sans Text",Arial,sans-serif);background:transparent;border:0;border-radius:0;box-shadow:none;outline:none!important;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search :is(.app-search-bar-back,.map-search__icon-button) {
  display:grid;place-items:center;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;
  margin:0;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--app-ink);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search :is(.app-search-bar-back,.map-search__icon-button) svg {width:20px;height:20px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search:not(.is-open) .app-search-bar-back {display:none;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch.app-unified-search #mapSearchPanel {
  flex:1;min-height:0;max-height:none!important;overflow:auto;padding:0;border-radius:0 0 12px 12px;
  background:var(--app-raised);color:var(--app-ink);overscroll-behavior:contain;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch #mapSearchPanel[hidden] {display:none!important;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .map-search__icon-button[hidden] {display:none!important;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-controls {gap:4px;padding:0 10px;border-color:var(--app-line);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-scopes {gap:4px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-scopes button {min-height:36px;padding:6px 10px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--app-ink);font:500 13px var(--font-body);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-scopes button[aria-pressed=true] {background:transparent;color:var(--app-accent);border-bottom-color:var(--app-accent);font-weight:600;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-filter-toggle {flex:0 0 36px;width:36px;min-height:36px;padding:8px;border-radius:6px;background:transparent;color:var(--app-ink);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-filter-toggle svg {width:20px;height:20px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-result:hover {background:var(--app-selected);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-result {min-height:56px;padding:10px 14px;gap:12px;font-size:13px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-result>svg {width:20px;height:20px;color:var(--app-muted);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-result-copy strong {font-size:14px;font-weight:600;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-result-description {font-size:12px;color:var(--app-muted);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-source {font-size:11px;font-weight:400;color:var(--app-muted);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-result-group h3 {padding:12px 14px 6px;font:600 12px var(--font-body);color:var(--app-muted);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-dataset {min-height:36px;padding:8px 10px;border-radius:6px;font-size:12px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-dataset[aria-pressed=true] {box-shadow:inset 2px 0 var(--app-accent);background:var(--app-selected);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-filterbox .app-search-advanced {min-height:36px;border-radius:6px;font-size:12px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels {
  display:flex;align-items:center;gap:8px;margin:0 2px 8px;padding:2px 0;border:0;
  border-radius:0;background:transparent;color:var(--app-ink);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels h3 {margin:0;font:500 12px var(--font-body);white-space:nowrap;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels :is(.app-search-labels-icon,.app-search-labels-copy p,.app-search-labels-state) {display:none;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels-switch {
  display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;flex:none;
  min-width:40px;min-height:28px;padding:4px;border:0;border-radius:4px;background:transparent;
  color:var(--app-ink);font:600 12px var(--font-body);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels-track {width:32px;height:18px;background:#e5e7eb;border-color:#8b929c;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels-track:after {top:2px;left:2px;width:12px;height:12px;background:#626b78;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels-switch[aria-checked=true] .app-search-labels-track {background:var(--app-accent);border-color:var(--app-accent);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch .app-search-labels-switch[aria-checked=true] .app-search-labels-track:after {background:var(--app-raised);transform:translateX(14px);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch #mapSearchAdvanced {padding:12px;border-top:1px solid var(--app-line);background:var(--app-surface);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mapSearch :is(input,select,textarea) {color:var(--app-ink);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-place {
  position:fixed;z-index:2200;top:calc(var(--desktop-search-top) + var(--header-control-height,42px) + 10px);left:auto;right:max(72px,var(--header-search-right,20px));
  width:var(--desktop-search-width);max-height:calc(var(--app-viewport-height,100dvh) - var(--desktop-search-top) - 176px);
  box-sizing:border-box;overflow:auto;padding:16px;border:1px solid var(--app-line);border-radius:12px;
  background:var(--app-raised);color:var(--app-ink);box-shadow:var(--app-shadow);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-place h2 {font-size:21px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-place-back {flex-basis:36px;width:36px;min-height:36px;padding:8px;border-radius:6px;background:transparent;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .app-search-place-actions button {min-height:40px;padding:8px 12px;border-radius:6px;font-size:13px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) body.guru-routing :is(#mapSearch,.app-search-place) {display:none!important;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) :is(.app-unified-search,.app-search-place,.guru-route-toolbar,.guru-route-search,.guru-route-map-picker) :is(button,input:not(.map-search__input),select,summary):focus-visible {
  outline:2px solid var(--app-accent);outline-offset:2px;
}

html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar {
  display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:0 4px;
  top:var(--desktop-search-top);left:auto;right:max(72px,var(--header-search-right,20px));width:var(--desktop-search-width);
  max-height:min(50dvh,420px);box-sizing:border-box;padding:6px 10px 10px;
  border:1px solid var(--app-line);border-radius:12px;background:var(--app-raised);color:var(--app-ink);box-shadow:var(--app-shadow);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar>button {min-height:44px;height:44px;width:44px;padding:10px;border-radius:50%;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) #mobileRouteClose {grid-column:1;grid-row:1;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar>button:last-of-type,
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar>.hkmaps-route-fit {grid-column:3;grid-row:1;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar>.hkmaps-route-elevation-mode {grid-column:2;grid-row:2;width:auto;justify-self:start;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar .guru-route-stops {
  grid-column:1/-1;grid-row:2;max-height:calc(min(50dvh,420px) - 120px);overflow:auto;overscroll-behavior:contain;padding:0 0 6px;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar .guru-route-stop {padding:0;gap:4px;min-height:52px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-stop-badge {flex-basis:24px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-finish-icon {width:24px;height:27px;object-fit:contain;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar .guru-route-stop-name {
  display:grid;align-content:center;gap:3px;
  padding:9px 12px!important;border:1px solid var(--app-line)!important;border-radius:6px!important;
  min-height:44px;white-space:normal;background:var(--app-surface);font-size:14px;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-stop-name strong {font-weight:500;font-size:14px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-stop-name small {color:var(--app-muted);font-size:12px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar :is(.guru-route-remove,.guru-route-reorder) {flex:0 0 36px;width:36px;min-height:44px;padding:7px;color:var(--app-muted);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar .guru-route-remove {font-size:24px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-toolbar .guru-route-add {display:block;min-height:44px;margin-left:28px;padding:8px 12px;text-align:left;color:var(--app-accent);font-size:14px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .hkmaps-route-modes button {flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:6px 3px;border-radius:0;border-bottom:2px solid transparent;font-size:12px;color:var(--app-muted);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .hkmaps-route-modes [aria-pressed=true] {background:transparent;color:var(--app-accent);border-bottom-color:var(--app-accent);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-menu {top:50px;right:0;border:1px solid var(--app-line);border-radius:16px;max-height:calc(100dvh - 210px);overflow:auto;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) body.guru-routing #locatePanel.guru-route-panel {
  position:fixed;top:var(--desktop-route-top,360px);left:auto;right:max(72px,var(--header-search-right,20px));bottom:auto;
  width:var(--desktop-search-width);max-height:calc(var(--app-viewport-height,100dvh) - var(--desktop-route-top,360px) - 96px);
  padding:0;border:1px solid var(--app-line);border-radius:12px;background:var(--app-raised);color:var(--app-ink);box-shadow:var(--app-shadow);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-panel .guru-route {padding-bottom:12px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route .guru-route-grip {min-height:36px;height:36px;border:0;border-radius:22px;background:transparent;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-grip:after {top:14px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route[data-collapsed=true]>:not(.guru-route-grip):not(.guru-route-statistics) {display:none!important;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-statistics {border:0;padding:0 16px 12px;gap:12px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-statistics strong {font-size:25px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-statistics small {font-size:12px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route .guru-route-directions-button {display:flex;align-items:center;justify-content:center;gap:8px;width:auto;height:auto;min-width:0;min-height:40px;padding:8px;border-radius:6px;background:var(--app-accent);color:var(--app-raised);font:600 13px var(--font-body);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route .hkmaps-route-save {min-height:40px;padding:8px;border:1px solid var(--app-line);border-radius:6px;background:var(--app-raised);font:600 13px var(--font-body);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-search {
  inset:var(--desktop-search-top) max(72px,var(--header-search-right,20px)) auto auto;width:var(--desktop-search-width);
  max-height:calc(var(--app-viewport-height,100dvh) - var(--desktop-search-top) - 108px);
  border:1px solid var(--app-line);border-radius:12px;box-shadow:var(--app-shadow);box-sizing:border-box;
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-search header {position:sticky;top:0;background:var(--app-raised);z-index:1;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-search header input {background:var(--app-surface);border:1px solid var(--app-line);}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-map-picker {
  inset:var(--desktop-search-top) max(72px,var(--header-search-right,20px)) auto auto;width:var(--desktop-search-width);box-sizing:border-box;
  padding:0 12px 12px;border:1px solid var(--app-line);border-radius:12px;pointer-events:auto;
  background:var(--app-raised);box-shadow:var(--app-shadow);
}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-map-picker header {position:static;padding:0 0 0 4px;background:transparent;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-map-picker header strong {font-size:16px;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-map-instruction {font-size:14px;margin:0;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-map-picker .guru-route-map-feedback {position:static;font-size:13px;margin:8px 0 0;}
html:not([data-app-layout=phone]):not([data-app-layout=tablet]) .guru-route-map-picker .guru-route-map-gps {position:fixed;bottom:96px;right:16px;width:48px;height:48px;border-radius:14px;}
/* Edit a stop in its route row, with suggestions directly underneath. */
html[data-app-layout] .guru-route-toolbar.is-choosing {overflow:auto;overscroll-behavior:contain;max-height:min(50dvh,420px)!important;}
html[data-app-layout] .guru-route-toolbar.is-choosing .hkmaps-route-modes,
html[data-app-layout] .guru-route-toolbar.is-choosing .guru-route-add {display:none!important;}
html[data-app-layout] .guru-route-toolbar .guru-route-search {
  position:static;inset:auto!important;grid-column:1/-1;grid-row:3;width:auto;height:auto!important;
  max-height:22dvh!important;min-height:0;padding:0;margin:8px -4px 0;border:0;border-top:1px solid var(--app-line);
  border-radius:0;box-shadow:none;background:var(--app-raised);overflow:auto;
}
html[data-app-layout] .guru-route-toolbar .guru-route-search-field {
  position:relative;display:flex;align-items:center;flex:1;min-width:0;gap:0;min-height:44px;box-sizing:border-box;
  padding:0 2px 0 10px;border:2px solid var(--app-accent);border-radius:6px;background:var(--app-raised);
}
html[data-app-layout] .guru-route-search-field .guru-route-search-label {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
html[data-app-layout] .guru-route-toolbar .guru-route-search-field input {
  flex:1;min-width:0;width:100%;min-height:40px;padding:0;border:0;border-radius:0;background:transparent;
  color:var(--app-ink);font:400 15px/1.4 var(--font-body,sans-serif);outline:none;
}
html[data-app-layout] .guru-route-search-field:focus-within {box-shadow:0 0 0 1px var(--app-accent);}
html[data-app-layout] .guru-route-toolbar .guru-route-search-field input:focus-visible {outline:none!important;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .guru-route-toolbar #routeLocationSearch:focus-visible {outline:none!important;}
html[data-app-layout] .guru-route-toolbar .guru-route-search-field :is(.guru-route-search-submit,.guru-route-location-action) {display:grid;place-items:center;flex:0 0 32px;width:32px;min-height:40px;padding:6px;color:var(--app-accent);}
html[data-app-layout] .guru-route-toolbar .guru-route-search-field button svg {width:20px;height:20px;}
html[data-app-layout] .guru-route-toolbar .guru-route-search:not(:has(.guru-route-search-result)):has(.guru-route-search-status:empty) {display:none;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .guru-route-toolbar .guru-route-search-field :is(.guru-route-search-submit,.guru-route-location-action) {flex-basis:44px;width:44px;min-height:44px;}
html[data-app-layout] .guru-route-toolbar .guru-route-reverse {border-radius:50%;background:var(--app-surface);}
html[data-app-layout] .guru-route-toolbar .guru-route-search-shortcuts {display:block;border:0;}
html[data-app-layout] .guru-route-toolbar .guru-route-search-shortcuts .guru-route-search-row {justify-content:flex-start;width:100%;padding:10px 12px!important;border:0;gap:12px;}
html[data-app-layout] .guru-route-search-shortcuts svg {box-sizing:content-box;padding:6px;border-radius:50%;background:var(--app-surface);}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .guru-route-toolbar .guru-route-search-field input {font-size:16px;}
/* A pin popup accompanies the results, rather than replacing them. */
html[data-app-layout] .app-search-place.app-search-pin-popup {
  position:fixed;z-index:2500;top:50%;left:12px;right:auto;bottom:auto;
  width:min(300px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:min(280px,40dvh);
  padding:12px;border:1px solid var(--app-line);border-radius:10px;overflow:auto;
  background:var(--app-raised);color:var(--app-ink);box-shadow:var(--app-shadow);
}
html[data-app-layout] .app-search-pin-popup>header {gap:6px;margin:0 0 6px;padding-right:28px;}
html[data-app-layout] .app-search-pin-popup .app-search-place-back {
  position:absolute;right:6px;top:6px;display:grid;place-items:center;flex:none;
  width:28px;min-height:28px;height:28px;padding:2px;border-radius:4px;background:transparent;font-size:22px;
}
html[data-app-layout] .app-search-pin-popup h2 {font-size:16px;line-height:1.3;margin:4px 0 0;}
html[data-app-layout] .app-search-pin-popup .app-search-source {font-size:11px;color:var(--app-muted);}
html[data-app-layout] .app-search-pin-popup .app-search-place-address {font-size:12px;margin:6px 0 10px;}
html[data-app-layout] .app-search-pin-popup .app-search-place-actions {gap:6px;}
html[data-app-layout] .app-search-pin-popup .app-search-place-actions button {min-height:36px;padding:7px 9px;border-radius:6px;font-size:12px;gap:6px;}
html[data-app-layout] .app-search-pin-popup .app-search-directions svg {width:18px;height:18px;}
html[data-app-layout] .app-search-pin-popup .app-search-place-feedback:empty {display:none;}
.app-search-result[aria-current=true] {box-shadow:inset 3px 0 #dda31c;background:var(--app-selected);}
html:is([data-app-layout=phone],[data-app-layout=tablet]) #mapApplication #mapSearch.app-unified-search:is(.has-selected-place,.has-record-popup) {min-height:0!important;height:auto!important;max-height:36dvh!important;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) #mapApplication #mapSearch.app-unified-search:is(.has-selected-place,.has-record-popup) #mapSearchPanel {max-height:calc(36dvh - 56px)!important;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .app-search-pin-popup .app-search-place-actions button {min-height:44px;font-size:14px;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .app-search-pin-popup .app-search-place-back {width:44px;min-height:44px;height:44px;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .app-search-pin-popup>header {padding-right:40px;}
html:is([data-app-layout=phone],[data-app-layout=tablet]) .app-search-place.app-search-pin-popup {z-index:6500;}

/* Use the map search typeface consistently, including the hint on touch layouts. */
@font-face {
  font-family:"Noto Sans TC Search";font-style:normal;font-weight:400;font-display:swap;
  src:url("../assets/fonts/noto-sans-tc/NotoSansTC-Regular-search-hint.ttf") format("truetype");
}
html:root #mapSearch.app-unified-search .map-search__input,
html:root #mapSearch.app-unified-search .map-search__input::placeholder {
  font-family:var(--ui-map-font,"Google Sans Text",Arial,sans-serif);
  font-weight:400;
}
html:root[lang^="zh"] #mapSearch.app-unified-search .map-search__input::placeholder {
  font-family:"Noto Sans TC Search","Noto Sans TC",sans-serif;
  letter-spacing:0;
}

/* Keep provider credit strips outside the thumbnail viewport. Full source
   attribution remains in Map information and on the active map. */
html:root :is(#list-basemaps,.legacy-basemap-gallery) .basemap-preview {
  overflow:hidden;
}
html:root :is(#list-basemaps,.legacy-basemap-gallery) .basemap-preview img.basemap-thumbnail {
  transform:scale(1.12);
  transform-origin:center top;
}
