.df-language-button { display:inline-flex; align-items:center; gap:9px; min-height:40px; padding:8px 14px; max-width:220px; border:1px solid var(--color-divider); border-radius:999px; background:var(--color-neutral-100); color:var(--color-text); font:600 13px/1.5 var(--font-body); cursor:pointer; white-space:nowrap; }
.df-language-button span { overflow:hidden; text-overflow:ellipsis; }
.df-language-button svg { flex:none; }
.df-language-button:hover, .df-language-button[aria-expanded=true] { background:var(--color-neutral-200); }
.df-language-menu { position:fixed; z-index:2147483000; box-sizing:border-box; padding:12px; max-height:calc(100dvh - 24px); border:1px solid var(--color-divider); border-radius:var(--radius-md); background:var(--color-neutral-100); box-shadow:var(--shadow-lg,0 12px 32px #2e2b2526); font:14px/1.5 var(--font-body); color:var(--color-text); }
.df-language-menu[hidden], .df-language-menu [hidden] { display:none !important; }
.df-language-search { display:block; width:100%; box-sizing:border-box; min-height:42px; padding:9px 14px; margin:0 0 8px; background:var(--color-surface); border:1px solid var(--color-divider); border-radius:999px; font:inherit; color:inherit; }
.df-language-list { max-height:min(360px,55dvh); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--color-neutral-400) transparent; }
.df-language-option { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:40px; box-sizing:border-box; padding:8px 12px; border:0; border-radius:var(--radius-sm); background:transparent; color:inherit; text-align:start; font:inherit; cursor:pointer; }
.df-language-option:hover { background:var(--color-neutral-200); }
.df-language-option[aria-selected=true] { background:var(--color-accent-2-700); color:var(--color-bg); }
.df-language-option svg { flex:none; }
.df-language-button:focus-visible, .df-language-menu :focus-visible { outline:2px solid var(--color-accent-700); outline-offset:2px; }
.df-language-empty, .df-language-error { margin:8px 4px; font-size:13px; }
.df-language-error { color:var(--color-accent-800); }
@media(max-width:480px){.df-language-button { min-height:40px; max-width:150px; padding:8px 10px; }}
