/* ============================================================
   NOTHING · 语言切换器（共享组件 · append-only）
   用法：<link rel="stylesheet" href="/kjdex/nt-lang.css?v=1">
        <div class="nt-lang"></div>            ← 桌面 .nav-right 内
        <div class="nt-lang"></div>            ← 移动 .drawer 内
        <script src="/kjdex/nt-lang.js?v=1"></script>   ← 同步放，紧跟挂载点
   回滚：删这两个文件 + 移除挂载点，页面无任何残留。
   语言名一律用 Endonym（自称），菜单容器带 data-noi18n 不参与翻译。
   ============================================================ */

.nt-lang{position:relative;flex:0 0 auto}

.nt-lang-btn{
  display:inline-flex;align-items:center;gap:7px;
  height:38px;padding:0 12px;border-radius:999px;
  border:1px solid var(--line,#ece9e3);background:#fff;color:var(--ink,#15131a);
  font:600 13px/1 inherit;letter-spacing:.02em;cursor:pointer;
  transition:border-color .18s ease,color .18s ease;
}
.nt-lang-btn:hover{border-color:var(--ink-3,#9d98a6)}
.nt-lang-btn:focus-visible{outline:2px solid var(--ink,#15131a);outline-offset:2px}
.nt-lang-btn svg{width:15px;height:15px;flex:0 0 auto;opacity:.7}

.nt-lang-code{min-width:20px;text-align:center;letter-spacing:.06em}

.nt-lang-caret{
  width:6px;height:6px;flex:0 0 auto;opacity:.45;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .2s ease;
}
.nt-lang.open .nt-lang-caret{transform:translateY(1px) rotate(-135deg)}

.nt-lang-menu{
  position:absolute;top:calc(100% + 8px);right:0;min-width:170px;margin:0;padding:6px;
  background:#fff;border:1px solid var(--line,#ece9e3);border-radius:14px;
  box-shadow:0 14px 34px rgba(21,19,26,.10);
  display:none;z-index:80;
}
.nt-lang.open .nt-lang-menu{display:block}

.nt-lang-menu button{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  width:100%;padding:9px 12px;border:0;border-radius:10px;background:none;
  color:var(--ink-2,#6b6675);font:500 14px/1.25 inherit;text-align:left;cursor:pointer;
  transition:background .14s ease,color .14s ease;
}
.nt-lang-menu button:hover{background:var(--bg-soft,#f7f6f3);color:var(--ink,#15131a)}
.nt-lang-menu button[aria-checked="true"]{color:var(--ink,#15131a);font-weight:700}
.nt-lang-menu button[aria-checked="true"]::after{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--rose,#ff3d71);flex:0 0 auto;
}

/* ---- 移动端抽屉内：内联展开 + 横向三列，省高度 ---- */
.drawer .nt-lang{margin-top:14px}
.drawer .nt-lang-btn{width:100%;justify-content:space-between}
.drawer .nt-lang-menu{
  position:static;min-width:0;margin-top:10px;padding:10px 0 2px;
  border:0;border-top:1px solid var(--line,#ece9e3);border-radius:0;box-shadow:none;
  display:none;grid-template-columns:repeat(3,1fr);gap:2px;
}
.drawer .nt-lang.open .nt-lang-menu{display:grid}
.drawer .nt-lang-menu button{padding:10px 8px;font-size:13px}

@media(max-width:480px){
  .nt-lang-btn{padding:0 10px;gap:6px}
  .nav-right .nt-lang-btn .nt-lang-code{min-width:18px}
}
