/* Text direction belongs to interface panels, never world coordinates, film framing or strike gestures. */
.language-picker { display: grid; gap: 8px; margin-block: 14px; }
.language-picker select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #686255; background: #20211e; color: #f2eee6; font: 16px var(--body); border-radius: 3px; }
.language-picker select:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.language-picker small { color: var(--muted); min-height: 1em; }
:is(html[lang="ar"],html[lang="zh-Hans"],html[lang="ja"],html[lang="ko"]) { --display: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
:is(html[lang="ar"],html[lang="zh-Hans"],html[lang="ja"],html[lang="ko"]) :is(.play > b,.sheet-box > h2,.verdict,.result-head .place,.reward-pop b,.showdown b,.hud-troops b,.hud-land,.o-head b) { filter: none; }
html[lang="ar"] :is(h1,h2,h3,.field-label,.btn,.tag) { letter-spacing: normal; }
html[dir="rtl"] :is(.sheet-box,.page,.warroom,.home-side,.toast) { text-align: start; }
html[dir="rtl"] :is(.hb-name,.note,.field-label,.quest p,.legal,.war-help) { text-align: start; }
html[dir="rtl"] :is(.hb-who,.sheet-box p,.note,.legal) { unicode-bidi: plaintext; }
html[dir="rtl"] :is(.hud-top,.send-row,.slider-row,.intensity-picker,.mm-fill,.bar,.pass-track,.wb-track) { direction: ltr; }
html[dir="rtl"] .vol-row input { direction: ltr; }
html[dir="rtl"] :is(.hb-rank,.energy,.pips,.mk-pips,.wallet) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] .home-switch .hs-thumb { left: auto; right: 4px; }
html[dir="rtl"] .home-switch[data-side="campaign"] .hs-thumb { transform: translateX(0); }
html[dir="rtl"] .home-switch[data-side="battle"] .hs-thumb { transform: translateX(-100%); }
html[dir="rtl"] .hb-tools { margin-inline-start: auto; }
html[dir="rtl"] :is(.btn,.tbtn,.tag) { white-space: normal; }
html:not([lang="en"]) :is(.mode-card b,.tbtn .tl,.tile b,.home-switch button) { overflow-wrap: anywhere; }
html:is([lang="ja"],[lang="zh-Hans"]) :is(.btn,.note,.sheet-box p) { line-break: strict; }
@media (max-width: 600px) {
  html:not([lang="en"]) .acct { flex-direction: column; align-items: stretch; }
  html:not([lang="en"]) .acct > div { min-width: 0; }
  html:not([lang="en"]) .acct #acct-in { width: 100%; white-space: normal; }
}
@media (min-width: 1000px) {
  html[dir="rtl"] body.pc-wide .pages { padding-left: 16px; padding-right: 166px; }
  html[dir="rtl"] body.pc-wide .tabbar { left: auto; right: 16px; }
  html[dir="rtl"] body.pc-wide .topbar .wallet { margin-left: 0; margin-inline-start: auto; }
}
