/* A reserved top strip keeps language controls off chat/remote action buttons. */
:root { --cnc-language-height: 48px; }
body > div[data-cnc-language-ui] {
  position: fixed; z-index: 2147483000;
  top: 0 !important; bottom: auto !important; right: 0 !important; left: 0 !important;
  width: 100%; max-width: none !important; height: var(--cnc-language-height);
  display: flex; align-items: center; gap: 8px; padding: 6px 12px !important;
  border-radius: 0 !important; background: var(--bg, #101722) !important;
  color: var(--text, var(--fg, #e6edf3)) !important; box-sizing: border-box;
}
body > div[data-cnc-language-ui] > button { padding: 4px 10px; font-size: 14px; }
body > div[data-cnc-language-ui] > div:not([hidden]) {
  position: absolute; top: 100%; inset-inline-start: 8px; width: min(420px, calc(100vw - 16px));
  padding: 10px; background: var(--bg, #101722); border: 1px solid #566; border-radius: 8px;
}
body > div[data-cnc-language-ui] input { width: 100%; font-size: 16px; padding: 8px; }
body > div[data-cnc-language-ui] > span { font-size: 11px !important; }
#viewer { top: var(--cnc-language-height) !important; }
#root { margin-top: var(--cnc-language-height); height: calc(100% - var(--cnc-language-height)); }

[data-cnc-language-ui] select { width: 100%; margin-top: 6px; padding: 4px; font: 15px system-ui; background: var(--bg, #101722); color: var(--text, var(--fg, #e6edf3)); }
[data-cnc-language-ui] option { padding: 5px; }

.cnc-confirm-dialog { max-width: min(500px, calc(100vw - 32px)); color: var(--text, var(--fg, #e6edf3)); background: var(--bg, #101722); border: 1px solid #566; border-radius: 10px; padding: 20px; }
.cnc-confirm-dialog::backdrop { background: #0008; }
.cnc-confirm-dialog form { display: flex; justify-content: flex-end; gap: 12px; }
.cnc-confirm-dialog button { padding: 8px 16px; }
