/* Language is presentation only: these rules never mirror a game board. */
.locale-control { display:inline-flex; flex-wrap:wrap; align-items:center; gap:8px; min-width:0; font-size:.8rem; color:var(--muted); }
.locale-control label { line-height:1.4; }
.locale-control select { min-height:44px; max-width:100%; padding:8px 30px 8px 12px; border:1px solid var(--border); border-radius:10px; background:var(--bg-elev); color:var(--text); font:inherit; cursor:pointer; }
.locale-control select:focus-visible { outline:3px solid var(--accent-2); outline-offset:2px; }
[data-i18n-selector] { min-width:0; }
.catalog__language { display:flex; justify-content:flex-end; margin:0; }
.catalog__identity { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.arcade-home .catalog__head .catalog__identity h1 { margin:0; }
.catalog__identity .catalog__language { flex:0 0 auto; }
.catalog__identity .locale-control { flex-wrap:nowrap; }
.arcade-home .catalog__welcome { flex-wrap:wrap; }
.arcade-home .catalog__welcome .btn,.arcade-home .catalog__browse { white-space:nowrap; flex:0 0 auto; }
.card__alias { display:none; order:2; margin:-2px 0 8px; color:var(--muted); font-size:.73rem; font-weight:400; line-height:1.45; letter-spacing:0; }
:lang(zh-CN) .card__alias { display:block; }
.card__vocabulary { display:inline-block; order:4; margin:0 0 8px; font-size:.68rem; font-weight:650; line-height:1.5; color:var(--text); }
.arcade-game .overlay[data-state] .overlay__identity[data-i18n-identity]::before { content:attr(data-i18n-identity); }
:lang(zh-CN) { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif; }
.arcade-home:lang(zh-CN) .catalog__head .catalog__intro { line-height:1.12; letter-spacing:0; }
:lang(zh-CN) h1,:lang(zh-CN) h2,:lang(zh-CN) h3 { letter-spacing:0; line-height:1.3; }
:lang(zh-CN) .arcade-eyebrow,:lang(zh-CN) .overlay__identity::before,:lang(zh-CN) .arcade-kicker { letter-spacing:.06em; line-height:1.5; }
.arcade-game:lang(zh-CN) .game .overlay__card h2 { letter-spacing:0; line-height:1.3; }
:lang(zh-CN) .overlay__card p,:lang(zh-CN) .hint,:lang(zh-CN) .feature__copy { line-height:1.65; word-break:normal; overflow-wrap:anywhere; }
:lang(zh-CN) .btn,:lang(zh-CN) button,:lang(zh-CN) select { letter-spacing:0; }
:lang(zh-CN) .game__header { flex-wrap:wrap; }
:lang(zh-CN) .feature h3,:lang(zh-CN) .card h2 { line-height:1.35; letter-spacing:0; }
:lang(zh-CN) .filter__btn,:lang(zh-CN) .mech__chip { white-space:normal; line-height:1.45; }
@media(max-width:540px) {
 .catalog__language { justify-content:flex-start; }
 .game__header [data-i18n-selector] { flex-basis:100%; display:flex; justify-content:flex-end; }
 .arcade-home:lang(zh-CN) .catalog__head .catalog__intro { font-size:clamp(2rem,9.5vw,2.6rem); }
 :lang(zh-CN) .overlay__card h2 { font-size:clamp(1.2rem,5vw,1.65rem); }
}
