.ep-language-toggle {
  display: inline-grid; place-items: center; width: 34px; height: 34px;
  min-width: 34px; flex: 0 0 34px; padding: 0 !important; margin-left: 8px;
  border: 1px solid var(--line, #d9e0e8); border-radius: 6px;
  background: var(--surface, #fff); color: var(--ink, #17212b);
  cursor: pointer; line-height: 1 !important; appearance: none;
}
.ep-language-icon { width: 20px; height: 20px; background: currentColor; mask: url('/static/vendor/lucide/languages.svg') center / contain no-repeat; }
.ep-appearance-controls { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: 8px; }
.ep-appearance-controls > :is(.ep-theme-toggle, .ep-language-toggle, .login-theme-toggle) { margin-left: 0; }
.login-title-row .ep-appearance-controls { margin-left: auto; }
body:is([data-easypath-page="viewer"], [data-easypath-page="annotation"]) .viewer-user .ep-appearance-controls { margin-left: 0; }
.ep-language-toggle:hover, .ep-language-toggle:focus-visible { outline: 2px solid var(--accent, #147a68); outline-offset: 2px; }
.ep-language-menu {
  position: fixed; z-index: 2147483000; width: 200px; max-width: calc(100vw - 16px);
  max-height: calc(100dvh - 16px); overflow-y: auto; padding: 4px;
  border: 1px solid var(--line, #d9e0e8); border-radius: 6px;
  background: var(--surface, #fff); color: var(--ink, #17212b); box-shadow: 0 6px 24px #0003;
}
.ep-language-menu[hidden] { display: none; }
.ep-language-menu button {
  display: block; width: 100%; min-height: 40px; padding: 8px 30px 8px 10px;
  position: relative; border: 0; border-radius: 3px; background: transparent;
  text-align: left; white-space: normal; overflow-wrap: anywhere; color: inherit;
  font: inherit; font-size: 15px; cursor: pointer; letter-spacing: 0;
}
.ep-language-menu button:hover, .ep-language-menu button:focus-visible { background: #147a681a; outline: 2px solid var(--accent, #147a68); outline-offset: -2px; }
.ep-language-menu button[aria-checked="true"] { font-weight: 700; background: #147a681a; }
.ep-language-menu button[aria-checked="true"]::after { content: '\2713'; position: absolute; right: 10px; }
body[data-easypath-theme="dark"] :is(.ep-language-toggle, .ep-language-menu) { background: #1b2429; color: #e8edf0; border-color: #3c4a50; }
body:is([data-easypath-page="viewer"], [data-easypath-page="annotation"]) .viewer-user .ep-language-toggle { margin-left: 0; }
.login-title-row .ep-language-toggle { margin-left: 0; }
html:not([lang="en"]) [data-ep-i18n] { overflow-wrap: anywhere; }
html:not([lang="en"]) button[data-ep-i18n] { white-space: normal; }
