/* The original style.css is shared, unchanged. Only the language control and linguistic layout live here. */
html:lang(zh-CN) { font-family: Inter, Geist, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Microsoft YaHei", "PingFang SC", sans-serif; }
html:lang(ja) { font-family: Inter, Geist, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; }
.header-utilities { justify-self: end; display: flex; align-items: center; gap: 12px; min-width: 0; }
.language-picker { position: relative; font-size: .75rem; }
.language-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 31px; min-width: 32px; padding: 6px; border: 0; border-radius: 6px; background: transparent; color: var(--text-secondary); cursor: pointer; font: inherit; }
.language-toggle:hover, .language-options a:hover, .language-options a[aria-current] { color: var(--text); background: var(--surface-light); }
.language-toggle > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.language-options { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 50; width: 230px; max-height: min(520px, 70vh); overflow-y: auto; padding: 6px; background: var(--surface); border: 1px solid var(--border-strong); border-radius: 10px; box-shadow: 0 12px 30px #0008; }
.language-options[hidden] { display: none; }
.language-options a { display: block; min-height: 40px; padding: 10px 12px; border-radius: 5px; text-decoration: none; text-align: start; }
.language-picker :focus-visible, .language-suggestion :focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.language-suggestion { position: fixed; inset-inline-end: 16px; bottom: 16px; z-index: 60; max-width: min(360px, calc(100vw - 32px)); display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--surface); color: var(--text-secondary); font-size: .8125rem; }
.language-suggestion button { color: var(--text); font: inherit; font-size: 1.3rem; background: transparent; border: 0; min-width: 32px; min-height: 32px; cursor: pointer; }
html:not([lang="en"]) :is(.primary-button, .secondary-button, .download-button) { white-space: normal; height: auto; }
html:not([lang="en"]) :is(.selected-game-copy, .search-result-copy, .companion-tool-copy, .brand-copy) { min-width: 0; }
html:not([lang="en"]) :is(h1,h2,h3,.primary-button,.secondary-button,.lead) { overflow-wrap: anywhere; }
html[dir="rtl"] .faq-question summary { padding-right: 0; padding-inline-end: 40px; }
html[dir="rtl"] .faq-permalink { right: auto; inset-inline-end: 0; }
html[dir="rtl"] .faq-note { border-left: 0; border-inline-start: 2px solid var(--orange); }
html[dir="rtl"] :is(ul,ol) { padding-left: 0; padding-inline-start: 40px; }
html[dir="rtl"] :is(code,pre,#appId,#selectedGameAppId,#resultAppId,#resultFilename,.input-prefix,.game-app-meta) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] pre { text-align: left; }
html[dir="rtl"] .search-icon { left: auto; right: 20px; }
html[dir="rtl"] .search-spinner { right: auto; left: 20px; }
html[dir="rtl"] .tool-dialog-close { right: auto; left: 16px; }
html[dir="rtl"] :is(.game-result,.search-empty) { text-align: start; }
html[dir="rtl"] .advanced-panel summary > span:nth-child(2) { text-align: end; }
html[dir="rtl"] .pipeline li::after { left: auto; right: calc(50% + 12px); }
html[dir="rtl"] .result-meta > div + div { border-left: 0; border-inline-start: 1px solid var(--border); }
html[dir="rtl"] #resultGameRow[hidden] + div { border-inline-start: 0; }
html[dir="rtl"] :is(.button-arrow,.steamdb-link > span:last-child,.night-injection-button svg) { transform: scaleX(-1); }
html[dir="rtl"] .game-result:hover .game-result-action > span { transform: translateX(-2px); }
html[dir="rtl"] .primary-button:hover:not(:disabled) .button-arrow { transform: translateX(-3px) scaleX(-1); }
html[dir="rtl"] .night-injection-button:hover svg { transform: translateX(-2px) scaleX(-1); }
@media (max-width: 820px) {
  .language-toggle > span { max-width: 64px; }
  html:not([lang="en"]) .header-utilities > .system-status { max-width: clamp(80px, calc(100vw - 230px), 130px); text-align: end; }
}
@media (max-width: 820px) and (min-width: 681px) {
  html:not([lang="en"]) .header-inner { gap: 12px; }
  html:not([lang="en"]) .primary-nav { gap: 18px; }
}
@media (max-width: 560px) {
  .header-utilities { gap: 6px; }
  .language-toggle { gap: 4px; }
  html:not([lang="en"]) .header-utilities > .system-status { max-width: 80px; }
  html[dir="rtl"] .search-icon { right: 16px; }
  html[dir="rtl"] .search-spinner { left: 16px; }
  html[dir="rtl"] .pipeline li { text-align: start; }
  html[dir="rtl"] .pipeline li::after { left: auto; right: 7px; }
  html[dir="rtl"] .result-meta > div + div { border-inline-start: 0; }
}
