/* Button geometry only: preserve the existing palette and page layout. */
:root { --button-radius:12px; --button-border:var(--ds-border,var(--line)); }
button { font:inherit; touch-action:manipulation; cursor:pointer; }
button:not(.av):not(.me-av):not(.color):not(.wp):not(.reaction):not(.emoji):not(.folder-tab) {
  border-radius:var(--button-radius);
  transition:background-color .15s,border-color .15s,opacity .15s;
}
:is(.icon-btn,.ghost,.mini,.cbtn,.backBtn,.neo-head-badge,.new-group-btn,.cancel-x,.call-action,.control-gate-cancel,#searchPrev,#searchNext,#searchClose) {
  border:1px solid var(--button-border); min-height:40px; box-shadow:none;
}
:is(.icon-btn,.backBtn,.neo-head-badge,.cancel-x,#searchPrev,#searchNext,#searchClose) { min-width:36px; }
button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
button:disabled { cursor:not-allowed; opacity:.45; transform:none!important; }
button:not(:disabled):active { opacity:.78; }
button[aria-pressed="true"] { border-color:var(--accent); }
button[hidden] { display:none!important; }
.send-mode-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; flex-wrap:wrap; color:var(--text); }
.send-mode-row select { font:inherit; max-width:100%; min-height:40px; padding:8px; border-radius:var(--button-radius); border:1px solid var(--button-border); color:var(--text); background:var(--panel2); }
#chatScreen.drop-photo #msgs { outline:3px dashed var(--accent); outline-offset:-6px; }
@media(prefers-reduced-motion:reduce) { button { transition:none!important; } }
