/* 语言选择浮层 · 简洁列表
   参考「一行一种语言」的朴素排法：无标题栏、无分隔线、无脚注，
   本地名深色在前、地区名浅灰在后，选中项靠浅紫底 + 细勾表达。
   浮层在触发器正上方留 8px 细缝展开（几何由组件 nudge-top 控制），不遮挡按钮。 */

.v-menu__content.locale-menu-content {
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  border: 1px solid rgba(28, 24, 64, 0.06);
  box-shadow: 0 22px 46px -28px rgba(52, 42, 128, 0.34), 0 8px 18px -14px rgba(28, 24, 64, 0.12) !important;
  overflow: hidden;
}

.locale-panel { padding: 6px; }

/* 高度按视口自适应并设上限：保证浮层始终放得进按钮上方的可用空间，不会被顶出屏幕。 */
.locale-scroll {
  max-height: min(52vh, 520px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #d8d9e4 transparent;
}
.locale-scroll::-webkit-scrollbar { width: 6px; }
.locale-scroll::-webkit-scrollbar-thumb { border-radius: 6px; background: #dedfe8; }
.locale-scroll::-webkit-scrollbar-track { background: transparent; }

/* 行：纯文字按钮，无图标、无边框、无分割线；高 38px，圆角 9px。 */
.locale-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
  -webkit-appearance: none;
  appearance: none;
}
.locale-row + .locale-row { margin-top: 1px; }
.locale-row:hover { background: #f4f5f9; }
.locale-row:focus-visible { outline: 2px solid rgba(106, 90, 224, 0.45); outline-offset: -1px; background: #f4f5f9; }
.locale-row--active { background: rgba(106, 90, 224, 0.08); }
.locale-row--active:hover { background: rgba(106, 90, 224, 0.11); }

.locale-row-native {
  flex: 0 1 auto;
  color: #2d3244;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
  white-space: nowrap;
}
.locale-row-name {
  flex: 1 1 auto;
  min-width: 0;
  color: #a0a5b4;
  font-size: 12.5px;
  font-weight: 400;
  line-height: 1.45;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.locale-row--active .locale-row-native { color: #5749c7; }
.locale-row--active .locale-row-name { color: #8d86c6; }

.locale-row-check {
  flex: 0 0 auto;
  align-self: center;
  color: #6a5ae0 !important;
}

/* 窄屏：行更高便于点选，高度上限再收一档，短屏也能完整展开在按钮上方。 */
@media (max-width: 600px) {
  .locale-scroll { max-height: min(48vh, 380px); }
  .locale-row { min-height: 42px; padding: 9px 10px; }
  .locale-row-native { font-size: 14.5px; }
  .locale-row-name { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .locale-row { transition: none; }
}
