.language-selector { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.language-selector__control { position: relative; display: inline-flex; align-items: center; }
.language-selector__flag { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); pointer-events: none; width: 18px; height: 12px; object-fit: contain; box-shadow: 0 0 0 1px #dce1e7; border-radius: 1px; }
.language-selector__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.language-selector select { font: inherit; font-size: var(--type-ui, 14px); line-height: var(--line-ui, 20px); height: 40px; padding: 8px 10px 8px 34px; max-width: 160px; border: 1px solid var(--border, #dce1e7); border-radius: var(--radius-sm, 8px); background: var(--surface, #fff); color: inherit; cursor: pointer; }
.language-selector__flag { z-index: 1; }
.language-selector select:hover { border-color: var(--accent, #0071e3); }
.language-selector select:focus-visible { outline: 2px solid var(--accent, #0071e3); outline-offset: 2px; }
.auth-card > .language-selector { margin: 0 0 10px auto; justify-content: flex-end; }
html[lang="zh-hans"] body { font-family: Inter, "Microsoft YaHei", "Noto Sans CJK SC", sans-serif; }

.language-selector [hidden] { display:none !important; }
.language-selector__button { display:flex; align-items:center; gap:8px; height:40px; padding:8px 10px; border:1px solid var(--border,#dce1e7); border-radius:var(--radius-sm,8px); background:var(--surface,#fff); color:inherit; font:inherit; cursor:pointer; }
.language-selector__button img,.language-selector__menu img { object-fit:contain; border-radius:1px; }
.language-selector__button:hover { border-color:var(--accent,#0071e3); }
.language-selector__menu { position:absolute; top:calc(100% + 6px); right:0; min-width:158px; padding:4px; z-index:1200; border:1px solid var(--border,#dce1e7); border-radius:var(--radius-sm,8px); background:var(--surface,#fff); box-shadow:0 8px 24px #172b4d26; }
.language-selector__menu button { display:flex; align-items:center; gap:8px; width:100%; padding:8px; border:0; border-radius:4px; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.language-selector__menu button:hover,.language-selector__menu button:focus-visible { background:var(--surface-hover,#f0f5fb); outline:2px solid var(--accent,#0071e3); outline-offset:-2px; }
.language-selector__menu [aria-selected=true] { background:var(--surface-active,#eaf3ff); font-weight:600; }
.language-selector__button:focus-visible { outline:2px solid var(--accent,#0071e3); outline-offset:2px; }
