.ui-root .ui-world .ui-world-hotspots { z-index: 2; box-sizing: border-box; padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
.ui-root .ui-world__route-status { position: absolute; z-index: 3; left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(76px, calc(env(safe-area-inset-bottom) + 64px)); display: grid; gap: 8px; padding: 10px 12px; max-height: 28%; overflow: auto; overscroll-behavior: contain; border-radius: 14px; color: var(--ui-heading); background: #fffdf4ed; font-size: .875rem; line-height: 1.45; }
.ui-root .ui-world__route-status[hidden] { display: none; }
.ui-root .ui-world__route-status p { margin: 0; white-space: pre-line; }
.ui-root .ui-world__route-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ui-root .ui-world__map-dialog { width: min(34rem, calc(100% - 24px)); }
.ui-root .ui-world__map-dialog .ui-world-map-picker { flex: none; min-height: 16rem; height: min(66dvh, 36rem);
  /* 扣掉安全区、标题、标签和提示文字后剩下的高度，整个弹窗不用上下滚动 */
  height: clamp(16rem, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 16rem), 36rem); }
.ui-root .ui-world__map-dialog .ui-dialog__body { gap: 12px; }
.ui-root .ui-world__map-dialog .ui-world__recovery:empty { display: none; }
@media (forced-colors: active) { .ui-root .ui-world__route-status { background: Canvas; color: CanvasText; border: 1px solid CanvasText; } }
