/* ==========================================================================
   语言下拉菜单（顶栏向下弹，页脚向上弹）

   收起态用 visibility 而不是 [hidden]：既从无障碍树里摘掉，又保留两条真链接
   给爬虫，同时还能做淡入位移。全站深底，菜单只有一套深色皮。
   ========================================================================== */

.lang-menu {
  position: relative;
  display: inline-flex;
}

/* 顶栏按钮原本没有指示箭头，补一个，和页脚那枚同形 */
.lang-menu__caret {
  width: 0.42em;
  height: 0.42em;
  margin-left: 0.1em;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform var(--dur-fast) var(--ease-std);
}

.lang-menu.is-open .lang-menu__caret,
.lang-menu.is-open .footer-lang::after {
  transform: rotate(225deg) translate(-1px, -1px);
}

.lang-menu__list {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: var(--z-menu);
  min-width: 156px;
  margin: 0;
  padding: 6px;
  list-style: none;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(12, 16, 15, 0.94);
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.55);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity var(--dur-fast) var(--ease-std),
    transform var(--dur-fast) var(--ease-std),
    visibility var(--dur-fast) var(--ease-std);
}

.lang-menu.is-open .lang-menu__list {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* 页脚那枚贴着页面底边，只能向上弹 */
.lang-menu--up .lang-menu__list {
  top: auto;
  bottom: calc(100% + 8px);
  right: auto;
  left: 0;
  transform: translateY(6px);
}
.lang-menu--up.is-open .lang-menu__list { transform: none; }

.lang-menu__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 9px;
  color: var(--fg-muted);
  font-size: 14px;
  font-weight: var(--fw-medium);
  line-height: 1.2;
  white-space: nowrap;
  transition: background var(--dur-fast) var(--ease-std),
    color var(--dur-fast) var(--ease-std);
}

.lang-menu__list a:hover,
.lang-menu__list a:focus-visible {
  background: var(--raised);
  color: var(--fg);
}

/* 当前语言：主绿 + 一枚对勾 */
.lang-menu__list a[aria-current="true"] { color: var(--c-primary-light); }
.lang-menu__list a[aria-current="true"]::after {
  content: "";
  width: 0.42em;
  height: 0.72em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-1px, -2px);
}

@media (max-width: 360px) {
  .lang-menu__list { min-width: 138px; }
  .lang-menu__list a { padding: 8px 10px; font-size: 13px; }
}
