/* Shared colors for chat, sign-in, and Settings. Theme is set before first paint. */
:root, :root[data-theme="light"] {
  color-scheme: light;
  --text: #1e293b;
  --muted: #526276;
  --subtle: #54667b;
  --canvas: #f1f5f9;
  --surface: #ffffff;
  --input: #f8fafc;
  --header: #f8fafc;
  --conversation: #eef2f6;
  --hover: #e7edf5;
  --selected: #dce8fa;
  --avatar: #e2e8f0;
  --border: #d8e0ea;
  --input-border: #b8c5d6;
  --accent: #1d4ed8;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --sent: #e0ebff;
  --code: #f5f7fa;
  --code-header: #e8edf4;
  --success: #086854;
  --error: #a43131;
  --error-bg: #fff0e8;
  --warning: #833b23;
  --warning-bg: #fff2dc;
  --info: #315b89;
  --info-bg: #e8f1fb;
  --keyword: #6641a5;
  --string: #a3331e;
  --number: #135ca0;
  --comment: #507347;
  --receipt: #087fc3;
  --focus: #2563eb;
  --pattern: #becbdb55;
  --highlight: #c9dbf5;
  --toolbar: #ffffff99;
  --overlay: #0f172a66;
  --video-surface: #101827;
  --shadow-soft: #0f172a0b;
  --shadow-raised: #0f172a33;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --text: #eeeeee;
  --muted: #aaaaaa;
  --subtle: #9e9e9e;
  --canvas: #080808;
  --surface: #171717;
  --input: #121212;
  --header: #141414;
  --conversation: #0d0d0d;
  --hover: #292929;
  --selected: #303030;
  --avatar: #2a2a2a;
  --border: #353535;
  --input-border: #505050;
  --accent: #86b7ff;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --sent: #292929;
  --code: #111111;
  --code-header: #222222;
  --success: #89d8b3;
  --error: #ffaaa0;
  --error-bg: #432922;
  --warning: #f3c783;
  --warning-bg: #40361e;
  --info: #d0d0d0;
  --info-bg: #242424;
  --keyword: #c4a5f3;
  --string: #ffb9a0;
  --number: #95cbff;
  --comment: #a5c493;
  --receipt: #69c8ff;
  --focus: #86b7ff;
  --pattern: #ffffff08;
  --highlight: #454545;
  --toolbar: #171717ee;
  --overlay: #000000a6;
  --video-surface: #080808;
  --shadow-soft: #00000020;
  --shadow-raised: #00000055;
}
select{font:inherit;color:var(--text);background:var(--input);border:1px solid var(--input-border);border-radius:9px;padding:12px;min-height:46px;max-width:100%}
select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.appearance-choice{width:100%;max-width:320px}
.settings-dialog .settings-close:hover{color:var(--text)}
.settings-dialog .settings-switch:checked{background:var(--primary);border-color:var(--primary)}

.settings-dialog input.settings-switch:before,.settings-dialog input.settings-switch:checked:before{background:white}

.closed-groups{margin:0 .5rem .5rem;flex:none;max-height:28%;overflow:auto}
.closed-groups>summary{padding:10px 8px;min-height:44px}
.closed-groups .group-list{max-height:none}
.admin-group h3{overflow-wrap:anywhere}.admin-group-members{overflow-wrap:anywhere}
