/* 语言选择：对齐个人中心木牌金边牧场风，固定在 390 游戏壳内 */
.lang-picker-overlay{
  position:absolute;
  z-index:3600;
  inset:0;
  display:flex;
  align-items:stretch;
  justify-content:center;
  padding:10px 8px 14px;
  box-sizing:border-box;
  background:radial-gradient(circle at 50% 28%,rgba(64,47,28,.18),rgba(13,9,7,.74));
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
  font-family:"Noto Sans SC","PingFang SC",system-ui,sans-serif;
}
.lang-picker{
  position:relative;
  width:100%;
  max-width:366px;
  height:100%;
  max-height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:5px solid #744116;
  border-radius:28px;
  background:linear-gradient(180deg,#f4cb70 0,#a96525 7%,#f8e7bd 8%,#e6b968 100%);
  box-shadow:
    inset 0 0 0 3px #ffe398,
    inset 0 0 0 6px rgba(125,70,24,.75),
    0 18px 32px rgba(24,11,6,.55);
  color:#402918;
}
.lang-picker:before{
  content:"";
  position:absolute;
  inset:13px;
  border:2px solid rgba(255,239,189,.65);
  border-radius:20px;
  pointer-events:none;
  z-index:1;
}
.lang-picker__head{
  position:relative;
  z-index:4;
  flex:0 0 auto;
  width:min(228px,72%);
  height:52px;
  margin:12px auto 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:3px solid #683612;
  border-radius:18px;
  background:linear-gradient(#b96d2f,#6d3816);
  box-shadow:inset 0 2px #e7aa5d,inset 0 -3px #48230d,0 4px 0 #b6752c;
}
.lang-picker__title{
  margin:0;
  color:#fff3c5;
  font-size:18px;
  line-height:22px;
  font-weight:950;
  letter-spacing:.06em;
  text-shadow:0 2px #51230e;
}
.lang-picker__close{
  position:absolute;
  z-index:6;
  right:10px;
  top:12px;
  width:40px;
  height:40px;
  padding:0;
  border:3px solid #79271a;
  border-radius:50%;
  background:linear-gradient(#ff7859,#cf3525);
  color:#fff7d9;
  font-size:24px;
  line-height:32px;
  font-weight:950;
  text-shadow:0 2px #8c2118;
  box-shadow:inset 0 2px #ffb08e,0 3px 0 #862317;
  cursor:pointer;
}
.lang-picker__close:active{transform:translateY(1px)}
.lang-picker__list{
  position:relative;
  z-index:2;
  list-style:none;
  margin:0 16px 16px;
  padding:8px 8px 18px;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  border:2px solid #b97b33;
  border-radius:19px;
  background:linear-gradient(#fff9e8,#f1dfba);
  box-shadow:inset 0 2px #fffdf5,inset 0 0 0 4px rgba(255,255,255,.34);
  scrollbar-width:none;
}
.lang-picker__list::-webkit-scrollbar{display:none}
.lang-picker__item{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 22px;
  align-items:center;
  gap:10px;
  min-height:52px;
  margin:0 0 7px;
  padding:6px 10px;
  border:2px solid #c28a40;
  border-radius:13px;
  background:radial-gradient(120% 90% at 50% 18%,#fffdf6,#f0d29c);
  box-shadow:inset 0 2px #fff,0 2px 0 #9a5d22;
  cursor:pointer;
  user-select:none;
  transition:transform .08s ease, filter .08s ease;
}
.lang-picker__item:last-child{margin-bottom:0}
.lang-picker__item:active{
  transform:translateY(1px);
  filter:brightness(.97);
}
.lang-picker__item.is-active{
  border-color:#b36b16;
  background:radial-gradient(120% 90% at 50% 18%,#fff8d8,#efc56a);
  box-shadow:inset 0 2px #fff6d0,0 2px 0 #8a4e16,0 0 0 2px rgba(214,150,42,.35);
}
.lang-picker__flag{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  overflow:hidden;
  border:2px solid #d79b42;
  background:linear-gradient(#fff7d8,#eab961);
  box-shadow:inset 0 0 0 2px #fff3c5,0 1px 0 #9b5b20;
  font-size:20px;
  line-height:1;
}
.lang-picker__code{
  display:none;
  color:#73410f;
  font-size:11px;
  font-weight:950;
  letter-spacing:.04em;
}
/* Windows 等环境国旗 emoji 常显示为字母对：补一层可读徽章 */
@supports not (font-variation-settings: normal) {
  .lang-picker__flag{font-size:12px;font-weight:950;color:#73410f}
}
.lang-picker__name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  line-height:18px;
  font-weight:900;
  color:#4a2c12;
}
.lang-picker__item.is-active .lang-picker__name{
  color:#6b3a0f;
}
.lang-picker__check{
  width:20px;
  height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:950;
  color:transparent;
  background:transparent;
  border:2px solid transparent;
}
.lang-picker__item.is-active .lang-picker__check{
  color:#fff8d6;
  background:linear-gradient(#7ec34a,#3f8a22);
  border-color:#2f6a16;
  box-shadow:inset 0 1px #b6e887,0 1px 0 #2a5414;
}
.lang-picker__item.is-active .lang-picker__check:before{
  content:"✓";
}
html[dir="rtl"] .lang-picker__item{
  grid-template-columns:22px minmax(0,1fr) 40px;
  direction:rtl;
}
html[dir="rtl"] .lang-picker__close{
  right:auto;
  left:10px;
}
