/* 安装入口与安装说明弹窗：沿用 V4 标牌语言（方角、发丝线、信号蓝）。 */

.install-chip {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid var(--signal);
  border-radius: var(--r-xs);
  background: var(--signal-soft);
  color: var(--signal);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.install-chip[hidden] { display: none; }

.install-dialog {
  width: min(calc(100% - 32px), 390px);
  padding: 0;
  border: 0;
  border-radius: var(--r-md);
  box-shadow: 0 24px 80px rgba(10, 18, 32, 0.3);
}

.install-dialog::backdrop { background: rgba(6, 21, 36, 0.55); }
.install-dialog form { padding: 24px; }
.install-dialog h2 { margin: 20px 0 16px; }
.install-dialog ol { padding-left: 24px; margin: 0 0 24px; }
.install-dialog li { margin: 10px 0; }

.dialog-close {
  float: right;
  min-height: 48px;
  border: 0;
  background: transparent;
  color: var(--signal);
  font: inherit;
  cursor: pointer;
}

.dialog-primary { width: 100%; }

/* 导航：选择地图 App */

.nav-options {
  display: grid;
  gap: 8px;
  margin: 4px 0 14px;
}

.nav-option {
  display: grid;
  gap: 2px;
  justify-items: center;
  min-height: 52px;
  padding: 8px 12px;
  border: 1px solid var(--border-dark);
  border-radius: var(--r-md);
  background: var(--paper);
  color: var(--text-primary);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.nav-option small {
  color: var(--text-secondary);
  font-size: 12px;
  font-weight: 600;
}

.nav-note {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--warning-line);
  border-left: 3px solid var(--warning);
  border-radius: var(--r-xs);
  background: var(--warning-light);
  color: var(--warning-ink);
  font-size: 13px;
  line-height: 1.5;
  text-wrap: pretty;
}

.nav-note a { color: inherit; font-weight: 700; }

/* 不支持 <dialog>.showModal 的内置浏览器（微信、部分国产浏览器）：退化成固定定位浮层，
   遮罩画在 html 上，保证"点了有反应"而不是静默无响应。 */
html.nav-fallback-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 29;
  background: rgba(6, 21, 36, 0.55);
}

.nav-dialog[open].nav-dialog-fallback {
  position: fixed;
  z-index: 30;
  top: 50%;
  left: 50%;
  display: block;
  width: min(calc(100% - 32px), 390px);
  max-height: 88vh;
  margin: 0;
  overflow: auto;
  transform: translate(-50%, -50%);
  background: var(--paper);
}

.nav-option[data-nav-app="amap"] {
  border-color: var(--signal);
  color: var(--signal);
}

.nav-option[hidden] { display: none; }

.nav-hint {
  margin: 0;
  color: var(--text-secondary);
  font-size: 13px;
  line-height: 1.5;
  text-wrap: pretty;
}
