/* Bots: notice and Start, inline buttons, reply keyboard, command menu, alerts.
   House style: hairlines, square corners, ink buttons, accent on hover and focus. */

.bot-notice {
  list-style: none; margin: 12px auto 16px; max-width: 460px; padding: 16px 18px;
  border: 1px solid var(--line); background: var(--panel, var(--bg)); text-align: left;
}
.bot-notice .eyebrow { margin: 0 0 6px; }
.bot-notice .bot-about { margin: 0 0 8px; color: var(--text, var(--ink)); }
.bot-notice p { margin: 0 0 10px; }
.bot-notice .bot-start { width: 100%; }

.msg.has-buttons { max-width: min(520px, 86%); }
.bot-buttons { display: grid; gap: 4px; margin-top: 8px; }
.bot-row { display: flex; gap: 4px; }
.bot-btn, .bot-key {
  flex: 1 1 0; min-width: 0; padding: 8px 10px; font: inherit; font-size: 13px; cursor: pointer;
  background: var(--bg); color: var(--ink); border: 1px solid var(--line); border-radius: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bot-btn.link::after { content: ' ↗'; color: var(--muted); }
.bot-btn.pressing { color: var(--muted); border-style: dashed; }
@media (hover: hover) {
  .bot-btn:hover, .bot-key:hover { border-color: var(--accent); color: var(--accent); }
}

.bot-keyboard {
  display: grid; gap: 4px; padding: 6px 8px; border-top: 1px solid var(--line); background: var(--bg);
  max-height: 40vh; overflow-y: auto;
}
.bot-keyboard:not(.compact) .bot-key { padding: 12px 10px; }

.bot-cmd-btn { font-family: inherit; font-size: 17px; font-weight: 600; color: var(--muted); }
.bot-menu {
  display: grid; max-height: 40vh; overflow-y: auto; border-top: 1px solid var(--line); background: var(--bg);
}
.bot-menu-item {
  display: flex; gap: 10px; align-items: baseline; padding: 10px 14px; text-align: left; font: inherit; cursor: pointer;
  background: transparent; color: var(--ink); border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
}
.bot-menu-item strong { font-weight: 600; }
@media (hover: hover) { .bot-menu-item:hover { background: var(--line); } }

.bot-alert {
  position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 16px;
  background: rgba(17, 24, 32, 0.35);
}
.bot-alert-card {
  width: min(420px, 100%); max-height: 80vh; overflow-y: auto; padding: 20px;
  background: var(--bg); color: var(--ink); border: 1px solid var(--line-strong); border-radius: 0;
}
.bot-alert-card p { white-space: pre-wrap; margin: 6px 0 16px; }
.bot-alert-card .primary { width: 100%; }

#peer { cursor: default; }
