.langpick { position:relative; font-size:.85rem; }

.langpick > summary {
  list-style:none;                       
  display:inline-flex; align-items:center; gap:.4rem;
  cursor:pointer; padding:.3rem .55rem; border-radius:6px;
  color:var(--dim, #6b727d);
  border:1px solid var(--rule, #c7ccd4);
  transition:color .12s, border-color .12s;
}
.langpick > summary::-webkit-details-marker { display:none; }
.langpick > summary:hover { color:var(--fg, #111418); border-color:var(--fg, #111418); }
.langpick[open] > summary { color:var(--fg, #111418); border-color:var(--fg, #111418); }

.langpick .globe { width:1em; height:1em; flex:none; }

.langpick .caret {
  width:.34em; height:.34em; margin-top:-.2em; flex:none;
  border-right:1.4px solid currentColor; border-bottom:1.4px solid currentColor;
  transform:rotate(45deg); transition:transform .15s;
}
.langpick[open] .caret { margin-top:.1em; transform:rotate(-135deg); }

.langpick .langmenu {
  position:absolute; z-index:20; top:calc(100% + .4rem); left:0; min-width:9.5rem;
  display:block; margin:0; padding:.3rem; list-style:none;
  background:var(--bg, #fff); border:1px solid var(--line, #e2e5ea); border-radius:8px;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}

.top .langpick .langmenu { left:auto; right:0; }

.langpick .langmenu li { margin:0; padding:0; list-style:none; }
.langpick .langmenu a, .langpick .langmenu b {
  display:block; padding:.45rem .6rem; border-radius:5px;
  text-decoration:none; white-space:nowrap; font-size:.9rem;
}
.langpick .langmenu a { color:var(--dim, #6b727d); }
.langpick .langmenu a:hover, .langpick .langmenu a:focus-visible {
  background:var(--soft, rgba(127,127,127,.12)); color:var(--fg, #111418);
}

.langpick .langmenu b {
  color:var(--fg, #111418); font-weight:600;
  display:flex; align-items:center; justify-content:space-between; gap:.8rem;
}
.langpick .langmenu b::after { content:'✓'; color:var(--accent, #0b5fff); font-weight:400; }

main > .langpick { margin:-1.6rem 0 2.25rem; }

@media (prefers-reduced-motion: reduce) {
  .langpick .caret, .langpick > summary { transition:none }
}
