@import url("88bb-medals-v1-2.css?v=20260721-professional-svg-medals-v12");

:root {
  --bbtg-bg: #07101a;
  --bbtg-panel: #0b1724;
  --bbtg-panel-2: #0e1d2c;
  --bbtg-line: rgba(126, 226, 245, 0.16);
  --bbtg-line-strong: rgba(126, 226, 245, 0.34);
  --bbtg-text: #eef8ff;
  --bbtg-muted: #8fa8bc;
  --bbtg-cyan: #50d9ef;
  --bbtg-green: #7df2ae;
  --bbtg-orange: #f6a84d;
  --bbtg-red: #ff7f93;
}

.bbtg-v2,
.bbtg-v2 * {
  box-sizing: border-box;
}

.bbtg-v2 {
  --bbtg-height: calc(100dvh - 112px);
  --bbtg-rail: 338px;
  --bbtg-vv-height: 100dvh;
  --bbtg-vv-top: 0px;
  position: relative;
  width: min(100%, 1440px);
  height: var(--bbtg-height);
  min-height: 520px;
  margin: 0 auto;
  overflow: hidden;
  color: var(--bbtg-text);
  border: 1px solid var(--bbtg-line);
  border-radius: 8px;
  background: var(--bbtg-bg);
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.28);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  letter-spacing: 0;
}

.bbtg-v2 button,
.bbtg-v2 input,
.bbtg-v2 textarea {
  font: inherit;
  letter-spacing: 0;
}

.bbtg-v2 button {
  -webkit-tap-highlight-color: transparent;
}

.bbtg-v2 [hidden] {
  display: none !important;
}

.bbtg-v2 .bbtg-shell {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(286px, var(--bbtg-rail)) 7px minmax(0, 1fr);
}

.bbtg-v2 .bbtg-rooms,
.bbtg-v2 .bbtg-chat {
  min-width: 0;
  min-height: 0;
}

.bbtg-v2 .bbtg-rooms {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  background: linear-gradient(180deg, #0c1926, #09131f);
  border-right: 1px solid var(--bbtg-line);
}

.bbtg-v2 .bbtg-rooms-head {
  min-height: 66px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px 9px;
}

.bbtg-v2 .bbtg-brand-mark,
.bbtg-v2 .bbtg-room-icon,
.bbtg-v2 .bbtg-room-avatar,
.bbtg-v2 .bbtg-avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid rgba(80, 217, 239, 0.32);
  background: linear-gradient(135deg, rgba(32, 199, 222, 0.24), rgba(101, 79, 233, 0.5));
  color: #f4fbff;
  font-weight: 900;
}

.bbtg-v2 .bbtg-brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
}

.bbtg-v2 .bbtg-brand-mark img,
.bbtg-v2 .bbtg-room-icon img,
.bbtg-v2 .bbtg-room-avatar img,
.bbtg-v2 .bbtg-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bbtg-v2 .bbtg-rooms-title {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.bbtg-v2 .bbtg-rooms-title strong {
  overflow: hidden;
  color: var(--bbtg-text);
  font-size: 15px;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-rooms-title small {
  color: var(--bbtg-muted);
  font-size: 11px;
}

.bbtg-v2 .bbtg-total-unread {
  min-width: 24px;
  height: 24px;
  margin-left: auto;
  display: inline-grid;
  place-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--bbtg-orange);
  color: #16100a;
  font-size: 11px;
  font-weight: 950;
}

.bbtg-v2 .bbtg-search {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 12px 9px;
  padding: 0 12px;
  border: 1px solid var(--bbtg-line);
  border-radius: 10px;
  background: rgba(15, 31, 46, 0.92);
  color: var(--bbtg-muted);
}

.bbtg-v2 .bbtg-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--bbtg-text);
  font-size: 13px;
}

.bbtg-v2 .bbtg-room-list {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 8px 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(127, 221, 238, 0.34) transparent;
}

.bbtg-v2 .bbtg-room-card {
  position: relative;
  width: 100%;
  min-height: 67px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 0 0 4px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--bbtg-text);
  text-align: left;
  cursor: pointer;
}

.bbtg-v2 .bbtg-room-card:hover,
.bbtg-v2 .bbtg-room-card:focus-visible {
  background: rgba(24, 49, 69, 0.72);
  outline: 0;
}

.bbtg-v2 .bbtg-room-card.is-active {
  border-color: rgba(80, 217, 239, 0.38);
  background: rgba(18, 53, 72, 0.88);
  box-shadow: inset 3px 0 0 var(--bbtg-cyan);
}

.bbtg-v2 .bbtg-room-card.is-locked {
  opacity: 0.58;
}

.bbtg-v2 .bbtg-room-icon {
  width: 48px;
  height: 48px;
  font-size: 12px;
}

.bbtg-v2 .bbtg-room-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.bbtg-v2 .bbtg-room-copy strong,
.bbtg-v2 .bbtg-room-copy small {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-room-copy strong {
  color: #f1f8fd;
  font-size: var(--bbtg-room-title-font-size, 14px);
  line-height: 1.18;
}

.bbtg-v2 .bbtg-room-copy small {
  color: var(--bbtg-muted);
  font-size: var(--bbtg-room-preview-font-size, 11px);
}

.bbtg-v2 .bbtg-room-unread {
  min-width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--bbtg-orange);
  color: #17110a;
  font-size: 10px;
  font-weight: 950;
}

.bbtg-v2 .bbtg-resizer {
  position: relative;
  z-index: 4;
  width: 7px;
  min-width: 7px;
  border: 0;
  background: rgba(6, 13, 22, 0.92);
  cursor: col-resize;
  touch-action: none;
}

.bbtg-v2 .bbtg-resizer::after {
  content: "";
  position: absolute;
  left: 2px;
  top: 22%;
  width: 2px;
  height: 56%;
  border-radius: 999px;
  background: rgba(80, 217, 239, 0.24);
}

.bbtg-v2.is-resizing .bbtg-resizer::after,
.bbtg-v2 .bbtg-resizer:hover::after {
  background: var(--bbtg-cyan);
}

.bbtg-v2 .bbtg-chat {
  position: relative;
  display: grid;
  grid-template-rows: 66px minmax(0, 1fr) auto;
  overflow: hidden;
  background:
    linear-gradient(rgba(4, 10, 17, 0.8), rgba(4, 10, 17, 0.9)),
    url("community-chat-bg-dark-command-room.png") center / cover no-repeat;
}

.bbtg-v2 .bbtg-chat-head {
  position: relative;
  z-index: 7;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 15px;
  border-bottom: 1px solid var(--bbtg-line);
  background: rgba(8, 18, 29, 0.9);
  backdrop-filter: blur(14px);
}

.bbtg-v2 .bbtg-selection-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 20;
  height: 66px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--bbtg-line-strong);
  background: rgba(8, 19, 29, 0.98);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(18px);
}

.bbtg-v2 .bbtg-selection-bar[hidden] {
  display: none !important;
}

.bbtg-v2 .bbtg-selection-bar button {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--bbtg-text);
  cursor: pointer;
}

.bbtg-v2 .bbtg-selection-bar button:hover,
.bbtg-v2 .bbtg-selection-bar button:focus-visible {
  outline: 0;
  background: rgba(80, 217, 239, 0.12);
}

.bbtg-v2 .bbtg-selection-bar button.is-danger {
  color: var(--bbtg-red);
}

.bbtg-v2 .bbtg-selection-bar button[hidden] {
  display: none !important;
}

.bbtg-v2 .bbtg-selection-bar strong {
  white-space: nowrap;
  font-size: 13px;
}

.bbtg-v2 .bbtg-selection-bar em {
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.bbtg-v2 .bbtg-selection-spacer {
  flex: 1 1 auto;
}

.bbtg-v2 .bbtg-back,
.bbtg-v2 .bbtg-icon-btn,
.bbtg-v2 .bbtg-send,
.bbtg-v2 .bbtg-refresh {
  border: 1px solid rgba(80, 217, 239, 0.25);
  background: rgba(16, 35, 51, 0.94);
  color: var(--bbtg-text);
  cursor: pointer;
}

.bbtg-v2 .bbtg-back,
.bbtg-v2 .bbtg-icon-btn {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  padding: 0;
  font-size: 20px;
  line-height: 1;
}

.bbtg-v2 .bbtg-back {
  display: none;
  font-size: 29px;
}

.bbtg-v2 .bbtg-room-avatar {
  width: 46px;
  height: 46px;
  font-size: 12px;
}

.bbtg-v2 .bbtg-room-title {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bbtg-v2 .bbtg-room-title strong,
.bbtg-v2 .bbtg-room-title small {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-room-title strong {
  color: #f4fbff;
  font-size: 16px;
  line-height: 1.15;
}

.bbtg-v2 .bbtg-room-title small {
  color: var(--bbtg-muted);
  font-size: 11px;
}

.bbtg-v2 .bbtg-refresh {
  min-height: 34px;
  margin-left: auto;
  padding: 0 12px;
  border-radius: 8px;
  color: var(--bbtg-cyan);
  font-size: 12px;
  font-weight: 800;
}

.bbtg-v2 .bbtg-font-toggle {
  width: 38px;
  min-width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(80, 217, 239, 0.25);
  border-radius: 50%;
  background: rgba(16, 35, 51, 0.94);
  color: #baf4ff;
  font-size: 13px;
  font-weight: 950;
  line-height: 1;
  cursor: pointer;
}

.bbtg-v2 .bbtg-font-toggle:hover,
.bbtg-v2 .bbtg-font-toggle:focus-visible {
  outline: 0;
  border-color: rgba(112, 232, 252, 0.62);
  background: rgba(40, 98, 126, 0.34);
}

.bbtg-v2 .bbtg-font-panel {
  overflow: hidden;
  padding: 10px;
}

.bbtg-v2 .bbtg-font-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 2px 2px 10px;
}

.bbtg-v2 .bbtg-font-panel > header > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.bbtg-v2 .bbtg-font-panel > header strong {
  color: #f4fbff;
  font-size: 14px;
}

.bbtg-v2 .bbtg-font-panel > header small {
  color: var(--bbtg-muted);
  font-size: 10px;
  line-height: 1.4;
}

.bbtg-v2 .bbtg-font-panel > header button {
  width: 32px;
  min-width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: #eaf8ff;
  font-size: 20px;
  cursor: pointer;
}

.bbtg-v2 .bbtg-font-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(80, 217, 239, 0.13);
  border-radius: 9px;
  background: rgba(4, 13, 22, 0.52);
}

.bbtg-v2 .bbtg-font-options button {
  min-width: 0;
  min-height: 42px;
  padding: 7px 4px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: rgba(225, 240, 249, 0.72);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.bbtg-v2 .bbtg-font-options button:hover,
.bbtg-v2 .bbtg-font-options button:focus-visible {
  outline: 0;
  background: rgba(80, 217, 239, 0.08);
}

.bbtg-v2 .bbtg-font-options button.is-active {
  border-color: rgba(113, 239, 182, 0.42);
  background: linear-gradient(135deg, rgba(79, 226, 167, 0.22), rgba(78, 194, 228, 0.16));
  color: #dffff0;
}

.bbtg-v2 .bbtg-message-viewport {
  position: relative;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 14px 16px 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(127, 221, 238, 0.34) transparent;
}

.bbtg-v2 .bbtg-message-stack {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 5px;
}

.bbtg-v2 .bbtg-history-status {
  position: sticky;
  top: 6px;
  z-index: 8;
  width: max-content;
  max-width: calc(100% - 20px);
  margin: 0 auto 8px;
  padding: 5px 10px;
  border: 1px solid var(--bbtg-line);
  border-radius: 999px;
  background: rgba(8, 17, 27, 0.92);
  color: var(--bbtg-muted);
  font-size: 11px;
}

.bbtg-v2 .bbtg-date-separator {
  width: max-content;
  align-self: center;
  margin: 7px 0 5px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(9, 20, 31, 0.84);
  color: #a9bac8;
  font-size: 10px;
}

.bbtg-v2 .bbtg-message-row {
  position: relative;
  --bbtg-swipe-reply-x: 0px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  gap: 7px;
  scroll-margin: 86px 0;
}

.bbtg-v2 .bbtg-select-indicator {
  display: none;
}

.bbtg-v2.is-selecting .bbtg-message-row {
  min-height: 46px;
  border-radius: 8px;
  cursor: pointer;
}

.bbtg-v2.is-selecting .bbtg-message-row.is-selected {
  background: rgba(99, 232, 157, 0.12);
}

.bbtg-v2.is-selecting .bbtg-select-indicator {
  position: relative;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(210, 230, 240, 0.58);
  border-radius: 50%;
  color: transparent;
  background: rgba(6, 15, 24, 0.82);
  font-size: 15px;
  font-weight: 950;
}

.bbtg-v2.is-selecting .bbtg-avatar {
  display: none;
}

.bbtg-v2.is-selecting .bbtg-message-row.is-own .bbtg-message {
  margin-left: auto;
}

.bbtg-v2.is-selecting .bbtg-message-row.is-selected .bbtg-select-indicator {
  border-color: #63e89d;
  background: #179760;
  color: #fff;
}

.bbtg-v2 .bbtg-message-row.is-own {
  justify-content: flex-end;
}

.bbtg-v2 .bbtg-message-actions {
  display: none;
}

.bbtg-v2 .bbtg-message-row.is-active .bbtg-message {
  box-shadow: 0 0 0 2px rgba(80, 217, 239, 0.38), 0 15px 34px rgba(0, 0, 0, 0.28);
}

.bbtg-v2 .bbtg-message-row.is-pending {
  opacity: 0.74;
}

.bbtg-v2 .bbtg-message-row.is-failed .bbtg-message {
  border-color: rgba(255, 127, 147, 0.7);
}

.bbtg-v2 .bbtg-avatar {
  width: 34px;
  height: 34px;
  font-size: 10px;
}

.bbtg-v2 .bbtg-message-row.is-own .bbtg-avatar {
  display: none;
}

.bbtg-v2 .bbtg-message {
  width: fit-content;
  max-width: min(560px, 78%);
  overflow: hidden;
  padding: 8px 10px 7px;
  border: 1px solid rgba(126, 226, 245, 0.14);
  border-radius: 12px 12px 12px 4px;
  background: rgba(14, 29, 44, 0.96);
  color: var(--bbtg-text);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22);
  user-select: text;
  transform: translateX(var(--bbtg-swipe-reply-x));
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row.is-swiping-reply .bbtg-message {
  transition: none;
  will-change: transform;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row.is-swipe-reply-settling .bbtg-message {
  transition: transform 180ms cubic-bezier(0.2, 0.78, 0.28, 1);
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row.is-swiping-reply::after {
  content: "\21a9";
  position: absolute;
  right: 9px;
  top: 50%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  transform: translateY(-50%) scale(0.88);
  border: 1px solid rgba(126, 226, 245, 0.28);
  border-radius: 50%;
  background: rgba(8, 25, 38, 0.94);
  color: #8edff2;
  font-size: 22px;
  opacity: 0.72;
  pointer-events: none;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row.is-swipe-reply-ready::after {
  border-color: rgba(99, 232, 157, 0.7);
  color: #63e89d;
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-message-row.is-swiping-reply .bbtg-message {
    transition: none;
    will-change: transform;
  }

  .bbtg-v2 .bbtg-message-row.is-swipe-reply-settling .bbtg-message {
    transition: transform 180ms cubic-bezier(0.2, 0.78, 0.28, 1);
  }

  .bbtg-v2 .bbtg-message-row.is-swiping-reply::after {
    content: "\21a9";
    position: absolute;
    right: 9px;
    top: 50%;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    transform: translateY(-50%) scale(0.88);
    border: 1px solid rgba(126, 226, 245, 0.28);
    border-radius: 50%;
    background: rgba(8, 25, 38, 0.94);
    color: #8edff2;
    font-size: 22px;
    opacity: 0.72;
    pointer-events: none;
  }

  .bbtg-v2 .bbtg-message-row.is-swipe-reply-ready::after {
    border-color: rgba(99, 232, 157, 0.7);
    color: #63e89d;
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
}

.bbtg-v2 .bbtg-message-row.is-own .bbtg-message {
  border-radius: 12px 12px 4px 12px;
  border-color: rgba(255, 255, 255, 0.15);
  background: linear-gradient(135deg, #147fd5, #6154db);
}

.bbtg-v2 .bbtg-message-head {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 4px;
}

.bbtg-v2 .bbtg-message-head strong {
  min-width: 0;
  overflow: hidden;
  color: #b9f5ff;
  font-size: var(--bbtg-author-font-size, 12px);
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-pinned {
  margin-left: auto;
  font-size: 11px;
}

.bbtg-v2 .bbtg-forwarded {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 5px;
  color: rgba(209, 242, 250, 0.74);
  font-size: 10px;
}

.bbtg-v2 .bbtg-forwarded strong {
  color: var(--bbtg-cyan);
}

.bbtg-v2 .bbtg-message-row.is-own .bbtg-message-head strong {
  color: #fff;
}

.bbtg-v2 .bbtg-message-head time,
.bbtg-v2 .bbtg-edited {
  flex: 0 0 auto;
  color: rgba(229, 240, 248, 0.68);
  font-size: 9px;
}

.bbtg-v2 .bbtg-medals {
  display: inline-flex;
  gap: 1px;
  margin-left: 4px;
  vertical-align: middle;
}

.bbtg-v2 .bbtg-reply-quote {
  width: 100%;
  display: grid;
  gap: 2px;
  margin: 2px 0 7px;
  padding: 6px 8px;
  border-left: 3px solid var(--bbtg-cyan);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.17);
  color: rgba(237, 247, 252, 0.82);
  font-size: 11px;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  text-align: left;
  cursor: pointer;
}

.bbtg-v2 .bbtg-reply-quote strong {
  color: var(--bbtg-cyan);
  font-size: 10px;
}

.bbtg-v2 .bbtg-media-grid,
.bbtg-v2 .bbtg-link-card,
.bbtg-v2 .bbtg-file-list,
.bbtg-v2 .bbtg-poll {
  margin: 0 0 7px;
}

.bbtg-v2 .bbtg-media-grid {
  width: fit-content;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.bbtg-v2 .bbtg-media-link {
  width: fit-content;
  display: block;
  max-width: 100%;
  color: inherit;
}

.bbtg-v2 .bbtg-media-img {
  display: block;
  width: auto;
  max-width: min(360px, 100%);
  max-height: 280px;
  object-fit: contain;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(0, 0, 0, 0.2);
}

.bbtg-v2 .bbtg-message-row.is-image-only .bbtg-message {
  padding: 5px 5px 6px;
}

.bbtg-v2 .bbtg-message-row.is-image-only .bbtg-media-grid {
  margin-bottom: 4px;
}

.bbtg-v2 .bbtg-file-list {
  display: grid;
  gap: 4px;
}

.bbtg-v2 .bbtg-file {
  min-width: 210px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 7px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.18);
  color: inherit;
  text-decoration: none;
}

.bbtg-v2 .bbtg-file span:first-child {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(80, 217, 239, 0.16);
  color: var(--bbtg-cyan);
  font-weight: 900;
}

.bbtg-v2 .bbtg-file span:last-child {
  min-width: 0;
  overflow: hidden;
  font-size: 11px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-link-card {
  width: min(470px, 100%);
  display: block;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  background: rgba(4, 12, 20, 0.4);
  color: inherit;
  text-decoration: none;
}

.bbtg-v2 .bbtg-link-card img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #050b12;
}

.bbtg-v2 .bbtg-link-body {
  display: grid;
  gap: 3px;
  padding: 8px 9px 9px;
}

.bbtg-v2 .bbtg-link-source {
  color: var(--bbtg-cyan);
  font-size: 10px;
  font-weight: 900;
}

.bbtg-v2 .bbtg-link-title {
  color: #f5fbff;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.3;
}

.bbtg-v2 .bbtg-link-desc {
  display: -webkit-box;
  overflow: hidden;
  color: rgba(235, 244, 250, 0.75);
  font-size: 10px;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.bbtg-v2 .bbtg-message-text {
  margin: 0;
  color: #f4f9fc;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: var(--bbtg-message-font-size, 13px);
  line-height: 1.43;
}

.bbtg-v2 .bbtg-message-text a {
  color: #bff6ff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bbtg-v2 .bbtg-managed-emoji,
.bbtg-v2 .bbtg-native-emoji {
  width: 1.5em;
  height: 1.45em;
  display: inline-block;
  object-fit: contain;
  vertical-align: -0.32em;
}

.bbtg-v2 .bbtg-managed-picker-emoji,
.bbtg-v2 .bbtg-managed-reaction,
.bbtg-v2 .bbtg-native-picker-emoji {
  width: 26px;
  height: 26px;
  display: block;
  object-fit: contain;
  pointer-events: none;
}

.bbtg-v2 .bbtg-message-meta {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  margin-top: 4px;
  color: rgba(233, 243, 249, 0.68);
  font-size: 9px;
}

.bbtg-v2 .bbtg-reaction-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

.bbtg-v2 .bbtg-reaction-pill {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(6, 15, 24, 0.32);
  color: #fff;
  cursor: pointer;
  font-size: 15px;
}

.bbtg-v2 .bbtg-reaction-pill.is-mine {
  border-color: rgba(80, 217, 239, 0.55);
  background: rgba(80, 217, 239, 0.18);
}

.bbtg-v2 .bbtg-reaction-pill b {
  font-size: 10px;
}

.bbtg-v2 .bbtg-poll {
  min-width: min(330px, 100%);
  padding: 9px;
  border-radius: 9px;
  background: rgba(4, 13, 22, 0.3);
}

.bbtg-v2 .bbtg-poll strong,
.bbtg-v2 .bbtg-poll small {
  display: block;
}

.bbtg-v2 .bbtg-poll small {
  margin-top: 3px;
  color: rgba(235, 244, 250, 0.72);
  font-size: 10px;
}

.bbtg-v2 .bbtg-poll-options {
  display: grid;
  gap: 5px;
  margin-top: 8px;
}

.bbtg-v2 .bbtg-poll-option {
  min-height: 36px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  border: 1px solid rgba(80, 217, 239, 0.2);
  border-radius: 8px;
  background: rgba(11, 30, 45, 0.82);
  color: var(--bbtg-text);
  cursor: pointer;
  text-align: left;
  font-size: 11px;
}

.bbtg-v2 .bbtg-poll-option.is-mine {
  border-color: var(--bbtg-cyan);
  background: rgba(80, 217, 239, 0.16);
}

.bbtg-v2 .bbtg-jump {
  position: absolute;
  right: 16px;
  bottom: 76px;
  z-index: 10;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--bbtg-line-strong);
  border-radius: 50%;
  background: rgba(14, 31, 46, 0.98);
  color: var(--bbtg-cyan);
  box-shadow: 0 15px 34px rgba(0, 0, 0, 0.34);
  cursor: pointer;
  font-size: 21px;
}

.bbtg-v2 .bbtg-jump-count {
  position: absolute;
  right: -4px;
  top: -5px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--bbtg-orange);
  color: #17110a;
  font-size: 9px;
  font-weight: 950;
}

.bbtg-v2 .bbtg-composer {
  position: relative;
  z-index: 9;
  display: grid;
  grid-template-columns: 40px 52px minmax(0, 1fr) 40px 60px;
  align-items: end;
  gap: 7px;
  padding: 8px 16px 10px;
  border-top: 1px solid rgba(126, 226, 245, 0.1);
  background: rgba(7, 15, 24, 0.96);
  backdrop-filter: blur(16px);
}

.bbtg-v2 .bbtg-composer-preview,
.bbtg-v2 .bbtg-link-draft,
.bbtg-v2 .bbtg-file-draft {
  grid-column: 1 / -1;
}

.bbtg-v2 .bbtg-composer-preview,
.bbtg-v2 .bbtg-file-draft {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border-left: 3px solid var(--bbtg-cyan);
  border-radius: 7px;
  background: rgba(80, 217, 239, 0.08);
  color: var(--bbtg-muted);
  font-size: 11px;
}

.bbtg-v2 .bbtg-composer-preview strong {
  color: var(--bbtg-cyan);
}

.bbtg-v2 .bbtg-file-draft {
  display: grid;
  gap: 6px;
  padding: 7px;
}

.bbtg-v2 .bbtg-file-draft-list {
  min-width: 0;
  display: flex;
  gap: 7px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding-bottom: 1px;
  scrollbar-width: thin;
}

.bbtg-v2 .bbtg-file-draft-item {
  position: relative;
  width: 72px;
  min-width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(126, 226, 245, 0.2);
  border-radius: 7px;
  background: rgba(3, 11, 18, 0.78);
}

.bbtg-v2 .bbtg-file-draft-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.bbtg-v2 .bbtg-file-draft-item small {
  position: absolute;
  left: 3px;
  right: 3px;
  bottom: 3px;
  overflow: hidden;
  padding: 2px 3px;
  border-radius: 4px;
  background: rgba(2, 7, 12, 0.78);
  color: #f5fbff;
  font-size: 8px;
  line-height: 1.2;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-file-draft-item > button {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(2, 7, 12, 0.86);
  color: #fff;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
}

.bbtg-v2 .bbtg-file-draft-icon {
  font-size: 28px;
}

.bbtg-v2 .bbtg-file-draft-meta {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}

.bbtg-v2 .bbtg-composer-preview span,
.bbtg-v2 .bbtg-file-draft span {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-file-draft span.bbtg-file-draft-item {
  width: 72px;
  min-width: 72px;
}

.bbtg-v2 .bbtg-preview-close {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--bbtg-text);
  cursor: pointer;
  font-size: 18px;
}

.bbtg-v2 .bbtg-link-draft {
  max-width: 440px;
}

.bbtg-v2 .bbtg-composer textarea {
  width: 100%;
  min-height: 40px;
  max-height: 116px;
  resize: none;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  border: 1px solid rgba(126, 226, 245, 0.17);
  border-radius: 14px;
  outline: 0;
  padding: 10px 12px;
  background: rgba(14, 29, 44, 0.98);
  color: var(--bbtg-text);
  font-size: var(--bbtg-composer-font-size, 13px);
  line-height: 1.35;
}

.bbtg-v2 .bbtg-composer textarea::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.bbtg-v2 .bbtg-composer textarea:focus {
  border-color: rgba(80, 217, 239, 0.55);
}

.bbtg-v2 .bbtg-send {
  min-height: 40px;
  border-color: rgba(125, 242, 174, 0.42);
  border-radius: 10px;
  background: #0d925d;
  color: #f1fff7;
  font-size: 12px;
  font-weight: 900;
}

.bbtg-v2 .bbtg-send:disabled,
.bbtg-v2 .bbtg-icon-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.bbtg-v2 .bbtg-floating,
.bbtg-v2 .bbtg-overlay-card,
.bbtg-v2 .bbtg-toast {
  position: fixed;
  z-index: 10120;
  border: 1px solid rgba(126, 226, 245, 0.18);
  border-radius: 10px;
  background: rgba(15, 29, 43, 0.99);
  color: var(--bbtg-text);
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(18px);
}

.bbtg-v2 .bbtg-touch-action-layer {
  position: fixed;
  inset: 0;
  z-index: 10130;
}

.bbtg-v2 .bbtg-touch-action-layer[hidden] {
  display: none !important;
}

.bbtg-v2 .bbtg-touch-action-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: rgba(2, 7, 12, 0.38);
  backdrop-filter: blur(1.5px);
}

.bbtg-v2 .bbtg-touch-action-panel {
  position: fixed;
  z-index: 1;
  max-height: calc(100dvh - 16px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(126, 226, 245, 0.2);
  border-radius: 14px;
  background: rgba(13, 27, 40, 0.99);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.56);
  color: var(--bbtg-text);
  scrollbar-width: thin;
  scrollbar-color: rgba(127, 221, 238, 0.34) transparent;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.bbtg-v2 .bbtg-touch-reaction-row {
  display: flex;
  gap: 3px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 7px;
  border-bottom: 1px solid rgba(126, 226, 245, 0.12);
  scrollbar-width: none;
}

.bbtg-v2 .bbtg-touch-reaction-row::-webkit-scrollbar {
  display: none;
}

.bbtg-v2 .bbtg-touch-reaction-row button,
.bbtg-v2 .bbtg-touch-more-reactions button {
  width: 42px;
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 22px;
  line-height: 1;
}

.bbtg-v2 .bbtg-touch-reaction-row button:active,
.bbtg-v2 .bbtg-touch-more-reactions button:active {
  background: rgba(255, 255, 255, 0.12);
}

.bbtg-v2 .bbtg-touch-reaction-row button.is-mine,
.bbtg-v2 .bbtg-touch-more-reactions button.is-mine {
  box-shadow: inset 0 0 0 2px rgba(80, 217, 239, 0.72);
  background: rgba(80, 217, 239, 0.16);
}

.bbtg-v2 .bbtg-touch-more-button {
  border: 1px solid rgba(126, 226, 245, 0.2) !important;
  color: var(--bbtg-cyan) !important;
  font-size: 20px !important;
}

.bbtg-v2 .bbtg-touch-more-reactions {
  max-height: 222px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
  gap: 3px;
  overflow-y: auto;
  padding: 7px;
  border-bottom: 1px solid rgba(126, 226, 245, 0.12);
}

.bbtg-v2 .bbtg-touch-more-reactions[hidden] {
  display: none !important;
}

.bbtg-v2 .bbtg-touch-more-reactions button {
  width: 100%;
  min-width: 40px;
}

.bbtg-v2 .bbtg-touch-action-menu {
  display: grid;
  padding: 4px 0;
}

.bbtg-v2 .bbtg-touch-action-menu button {
  width: 100%;
  min-height: 44px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0 13px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--bbtg-text);
  text-align: left;
  font-size: 13px;
}

.bbtg-v2 .bbtg-touch-action-menu button:active {
  background: rgba(80, 217, 239, 0.11);
}

.bbtg-v2 .bbtg-touch-action-menu button.is-danger {
  color: var(--bbtg-red);
}

.bbtg-v2 .bbtg-forward-room-list {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.bbtg-v2 .bbtg-forward-room-list button {
  min-height: 44px;
  border: 1px solid var(--bbtg-line);
  border-radius: 8px;
  background: rgba(12, 31, 46, 0.92);
  color: var(--bbtg-text);
  text-align: left;
  padding: 0 12px;
}

.bbtg-v2 .bbtg-attach-menu {
  width: 182px;
  overflow: hidden;
}

.bbtg-v2 .bbtg-context-menu {
  width: 196px;
  max-height: calc(100dvh - 16px);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}

.bbtg-v2 .bbtg-attach-menu button,
.bbtg-v2 .bbtg-context-menu button {
  width: 100%;
  min-height: 39px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 0;
  background: transparent;
  color: var(--bbtg-text);
  padding: 0 11px;
  cursor: pointer;
  text-align: left;
  white-space: nowrap;
  font-size: 13px;
}

.bbtg-v2 .bbtg-attach-menu button:hover,
.bbtg-v2 .bbtg-context-menu button:hover {
  background: rgba(80, 217, 239, 0.1);
}

.bbtg-v2 .bbtg-context-menu button.is-danger {
  color: var(--bbtg-red);
}

.bbtg-v2 .bbtg-reaction-tray {
  display: flex;
  gap: 3px;
  padding: 6px;
  border-radius: 999px;
}

.bbtg-v2 .bbtg-reaction-tray button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  font-size: 21px;
  line-height: 1;
}

.bbtg-v2 .bbtg-reaction-tray button:hover,
.bbtg-v2 .bbtg-reaction-tray button:focus-visible {
  outline: 0;
  background: rgba(255, 255, 255, 0.12);
}

.bbtg-v2 .bbtg-emoji-panel {
  width: min(382px, calc(100vw - 20px));
  max-height: min(420px, calc(100dvh - 100px));
  overflow: hidden;
}

.bbtg-v2 .bbtg-emoji-grid {
  max-height: 306px;
  display: grid;
  grid-template-columns: repeat(8, minmax(36px, 1fr));
  gap: 2px;
  overflow-y: auto;
  padding: 8px;
}

.bbtg-v2 .bbtg-emoji-grid button {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  cursor: pointer;
  font-size: 23px;
}

.bbtg-v2 .bbtg-emoji-grid button:hover {
  background: rgba(255, 255, 255, 0.09);
}

.bbtg-v2 .bbtg-emoji-grid .bbtg-managed-picker-emoji {
  width: 30px;
  height: 30px;
}

.bbtg-v2 .bbtg-emoji-tabs {
  display: flex;
  justify-content: flex-start;
  gap: 3px;
  padding: 6px;
  border-top: 1px solid var(--bbtg-line);
  overflow-x: auto;
  scrollbar-width: none;
}

.bbtg-v2 .bbtg-emoji-tabs::-webkit-scrollbar {
  display: none;
}

.bbtg-v2 .bbtg-emoji-tabs button {
  min-width: 38px;
  height: 34px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--bbtg-muted);
  cursor: pointer;
}

.bbtg-v2 .bbtg-emoji-tabs button.is-active {
  background: rgba(80, 217, 239, 0.14);
  color: var(--bbtg-cyan);
}

.bbtg-v2 .bbtg-toast {
  left: 50%;
  bottom: 84px;
  max-width: min(420px, calc(100vw - 24px));
  transform: translateX(-50%);
  padding: 8px 12px;
  text-align: center;
  font-size: 12px;
}

.bbtg-v2 .bbtg-overlay {
  position: fixed;
  inset: 0;
  z-index: 10140;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(2, 7, 12, 0.66);
  backdrop-filter: blur(4px);
}

.bbtg-v2 .bbtg-overlay-card {
  position: relative;
  width: min(410px, calc(100vw - 28px));
  max-height: min(620px, calc(100dvh - 28px));
  overflow-y: auto;
  padding: 16px;
}

.bbtg-v2 .bbtg-overlay-card h3 {
  margin: 0 0 8px;
  font-size: 17px;
}

.bbtg-v2 .bbtg-overlay-card p {
  margin: 0 0 12px;
  color: var(--bbtg-muted);
  font-size: 12px;
  line-height: 1.45;
}

.bbtg-v2 .bbtg-overlay-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
}

.bbtg-v2 .bbtg-overlay-actions button,
.bbtg-v2 .bbtg-poll-form button {
  min-height: 38px;
  border: 1px solid var(--bbtg-line-strong);
  border-radius: 8px;
  padding: 0 12px;
  background: rgba(21, 43, 61, 0.95);
  color: var(--bbtg-text);
  cursor: pointer;
  font-size: 12px;
}

.bbtg-v2 .bbtg-overlay-actions button.is-danger {
  border-color: rgba(255, 127, 147, 0.45);
  background: rgba(130, 35, 52, 0.75);
  color: #fff0f3;
}

.bbtg-v2 .bbtg-seen-list {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.bbtg-v2 .bbtg-seen-person {
  min-height: 44px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 5px;
  border-bottom: 1px solid rgba(126, 226, 245, 0.1);
}

.bbtg-v2 .bbtg-seen-person > span:first-child {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(80, 217, 239, 0.16);
  color: var(--bbtg-cyan);
  font-size: 10px;
  font-weight: 900;
}

.bbtg-v2 .bbtg-seen-person strong {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
}

.bbtg-v2 .bbtg-seen-person em {
  color: var(--bbtg-muted);
  font-size: 10px;
  font-style: normal;
}

.bbtg-v2 .bbtg-poll-form {
  display: grid;
  gap: 8px;
}

.bbtg-v2 .bbtg-poll-form input,
.bbtg-v2 .bbtg-poll-form textarea {
  width: 100%;
  border: 1px solid var(--bbtg-line);
  border-radius: 8px;
  outline: 0;
  padding: 9px 10px;
  background: rgba(8, 19, 30, 0.92);
  color: var(--bbtg-text);
  font-size: 12px;
}

.bbtg-v2 .bbtg-poll-form label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--bbtg-muted);
  font-size: 11px;
}

.bbtg-v2 .bbtg-empty {
  width: min(370px, 90%);
  margin: auto;
  padding: 18px;
  border: 1px dashed rgba(126, 226, 245, 0.2);
  border-radius: 9px;
  background: rgba(7, 17, 27, 0.68);
  color: var(--bbtg-muted);
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
}

.bbtg-v2 .bbtg-chat-loading {
  width: min(330px, calc(100% - 28px));
  margin: auto;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 20px 18px;
  color: var(--bbtg-text);
  text-align: center;
}

.bbtg-v2 .bbtg-room-list > .bbtg-chat-loading {
  margin: 48px auto 0;
}

.bbtg-v2 .bbtg-chat-loading strong {
  font-size: 13px;
}

.bbtg-v2 .bbtg-chat-loading small {
  color: var(--bbtg-muted);
  font-size: 10px;
}

.bbtg-v2 .bbtg-loading-spinner {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid rgba(126, 226, 245, 0.2);
  border-radius: 50%;
  background: rgba(8, 22, 34, 0.9);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
}

.bbtg-v2 .bbtg-loading-spinner i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--bbtg-cyan);
  animation: bbtg-loading-pulse 900ms ease-in-out infinite;
}

.bbtg-v2 .bbtg-loading-spinner i:nth-child(2) {
  animation-delay: 120ms;
}

.bbtg-v2 .bbtg-loading-spinner i:nth-child(3) {
  animation-delay: 240ms;
}

.bbtg-v2 .bbtg-loading-lines {
  width: min(210px, 80%);
  display: grid;
  gap: 5px;
  margin-top: 4px;
}

.bbtg-v2 .bbtg-loading-lines i {
  height: 5px;
  border-radius: 3px;
  background: rgba(126, 226, 245, 0.1);
  animation: bbtg-loading-line 1.2s ease-in-out infinite;
}

.bbtg-v2 .bbtg-loading-lines i:nth-child(2) {
  width: 76%;
  animation-delay: 100ms;
}

.bbtg-v2 .bbtg-loading-lines i:nth-child(3) {
  width: 58%;
  animation-delay: 200ms;
}

@keyframes bbtg-loading-pulse {
  0%, 100% { opacity: 0.35; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(-3px); }
}

@keyframes bbtg-loading-line {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 0.9; }
}

@media (prefers-reduced-motion: reduce) {
  .bbtg-v2 .bbtg-loading-spinner i,
  .bbtg-v2 .bbtg-loading-lines i {
    animation: none;
  }
}

.bbtg-v2 .bbtg-file-input {
  display: none;
}

body[data-page="community"] {
  overflow: hidden;
}

body[data-page="community"] .main-panel {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

body[data-page="community"] .v5-site-footer {
  display: none !important;
}

body.bbtg-v2-enabled [data-chat-search-shell],
body.bbtg-v2-enabled [data-chat-section-head],
body.bbtg-v2-enabled [data-chat-panel] > [data-chat-layout],
body.bbtg-v2-enabled [data-room-tools-menu],
body.bbtg-v2-enabled [data-room-selection-toolbar],
body.bbtg-v2-enabled [data-room-context-menu] {
  display: none !important;
}

body.bbtg-v2-enabled [data-chat-panel].is-active {
  top: var(--app-topbar-h) !important;
  bottom: var(--bottom-nav-h) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.bbtg-v2-enabled [data-chat-panel].is-active > .bbtg-v2[data-bbtg-surface="app"] {
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.bbtg-v2-mobile-chat-open {
  overflow: hidden !important;
}

body.bbtg-v2-mobile-chat-open [data-app-topbar],
body.bbtg-v2-mobile-chat-open [data-bottom-tabbar],
body.bbtg-v2-mobile-chat-open .v5-site-header,
body.bbtg-v2-mobile-chat-open .v5-site-footer {
  visibility: hidden !important;
  pointer-events: none !important;
}

.bbtg-app-unread {
  position: absolute;
  right: 13px;
  top: 7px;
  min-width: 19px;
  height: 19px;
  display: inline-grid;
  place-items: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--bbtg-orange);
  color: #17110a;
  font-size: 9px;
  font-weight: 950;
}

[data-tab-target="chat"] {
  position: relative;
}

@media (min-width: 761px) and (hover: hover) and (pointer: fine) {
  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-actions {
    flex: 0 0 auto;
    display: flex;
    align-self: center;
    gap: 3px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(2px);
    transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-row.is-own .bbtg-message-actions {
    order: -1;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-row:hover > .bbtg-message-actions,
  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-row:focus-within > .bbtg-message-actions {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-actions button {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(126, 226, 245, 0.16);
    border-radius: 50%;
    background: rgba(12, 27, 41, 0.96);
    color: #dcecf5;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
    font-size: 16px;
    line-height: 1;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-actions .bbtg-quick-reply {
    width: auto;
    grid-auto-flow: column;
    gap: 5px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-actions .bbtg-quick-reply span:first-child {
    font-size: 15px;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-actions button:hover,
  .bbtg-v2[data-bbtg-surface="site"] .bbtg-message-actions button:focus-visible {
    border-color: rgba(80, 217, 239, 0.5);
    outline: 0;
    background: rgba(30, 59, 78, 0.98);
    color: #fff;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-reaction-tray.is-desktop-hover {
    width: 48px;
    max-height: 214px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 6px;
    border-radius: 14px;
    scrollbar-width: thin;
    scrollbar-color: rgba(127, 221, 238, 0.4) transparent;
  }

  .bbtg-v2[data-bbtg-surface="site"] .bbtg-reaction-tray.is-desktop-hover button {
    flex: 0 0 34px;
  }
}

@media (max-width: 900px) {
  .bbtg-v2 {
    --bbtg-rail: 310px;
  }

  .bbtg-v2 .bbtg-message {
    max-width: 84%;
  }
}

@media (max-width: 760px) {
  body[data-page="community"] {
    overflow: auto;
  }

  body[data-page="community"] .main-panel,
  body[data-page="community"].v5-site-ready .main-panel {
    padding: 6px !important;
  }

  .bbtg-v2 {
    width: 100%;
    height: calc(100dvh - 82px);
    min-height: 0;
    border-radius: 0;
  }

  .bbtg-v2 .bbtg-shell {
    display: block;
  }

  .bbtg-v2 .bbtg-resizer {
    display: none;
  }

  .bbtg-v2 .bbtg-rooms {
    width: 100%;
    height: 100%;
    border-right: 0;
  }

  .bbtg-v2 .bbtg-chat {
    display: none;
  }

  .bbtg-v2.is-room-open .bbtg-chat {
    position: fixed;
    left: 0;
    top: var(--bbtg-vv-top);
    z-index: 10100;
    width: 100vw;
    height: var(--bbtg-vv-height);
    display: grid;
    grid-template-rows: calc(58px + env(safe-area-inset-top, 0px)) minmax(0, 1fr) auto;
  }

  .bbtg-v2 .bbtg-back {
    display: inline-grid;
    position: relative;
    z-index: 2;
    pointer-events: auto;
    touch-action: manipulation;
  }

  .bbtg-v2 .bbtg-chat-head {
    padding: calc(7px + env(safe-area-inset-top, 0px)) 8px 7px;
  }

  .bbtg-v2 .bbtg-selection-bar {
    height: 58px;
    padding: 7px 8px;
  }

  .bbtg-v2 .bbtg-room-avatar {
    width: 40px;
    height: 40px;
  }

  .bbtg-v2 .bbtg-room-title strong {
    font-size: 15px;
  }

  .bbtg-v2 .bbtg-refresh {
    width: 36px;
    min-width: 36px;
    min-height: 36px;
    overflow: hidden;
    padding: 0;
    border-radius: 50%;
    font-size: 0;
  }

  .bbtg-v2 .bbtg-refresh::before {
    content: "\21bb";
    font-size: 19px;
  }

  .bbtg-v2 .bbtg-message-viewport {
    padding: 10px 8px 8px;
  }

  .bbtg-v2 .bbtg-message {
    max-width: 87%;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }

  .bbtg-v2 .bbtg-message-row {
    touch-action: pan-y;
  }

  .bbtg-v2 .bbtg-media-img,
  .bbtg-v2 .bbtg-link-card img {
    -webkit-user-drag: none;
  }

  .bbtg-v2.is-selecting .bbtg-message a,
  .bbtg-v2.is-selecting .bbtg-message button,
  .bbtg-v2.is-selecting .bbtg-message-actions {
    pointer-events: none;
  }

  .bbtg-v2.is-selecting .bbtg-composer {
    visibility: hidden;
    pointer-events: none;
  }

  .bbtg-v2 .bbtg-avatar {
    width: 31px;
    height: 31px;
  }

  .bbtg-v2 .bbtg-media-img {
    max-width: min(300px, 100%);
    max-height: 230px;
  }

  .bbtg-v2 .bbtg-link-card {
    width: min(360px, 100%);
  }

  .bbtg-v2 .bbtg-composer {
    grid-template-columns: 38px 38px minmax(0, 1fr) 38px 54px;
    gap: 5px;
    padding: 7px 7px calc(7px + env(safe-area-inset-bottom, 0px));
  }

  .bbtg-v2 .bbtg-icon-btn {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }

  .bbtg-v2 .bbtg-composer textarea,
  .bbtg-v2 .bbtg-send {
    min-height: 38px;
  }

  .bbtg-v2 .bbtg-send {
    padding: 0 7px;
  }

  .bbtg-v2 .bbtg-jump {
    right: 11px;
    bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  }

  .bbtg-v2 .bbtg-reaction-tray {
    display: grid;
    grid-template-columns: repeat(4, 34px);
    border-radius: 12px;
  }

  .bbtg-v2 .bbtg-emoji-grid {
    grid-template-columns: repeat(7, minmax(38px, 1fr));
  }

  .bbtg-v2 .bbtg-toast {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 390px) {
  .bbtg-v2 .bbtg-selection-bar em {
    display: none;
  }

  .bbtg-v2 .bbtg-selection-bar button {
    padding: 0 6px;
  }

  .bbtg-v2 .bbtg-message {
    max-width: 90%;
  }

  .bbtg-v2 .bbtg-message-text {
    font-size: var(--bbtg-message-font-size, 13px);
  }

  .bbtg-v2 .bbtg-emoji-grid {
    grid-template-columns: repeat(6, minmax(40px, 1fr));
  }
}

/* The App shell is phone-width even when its browser viewport is wide. */
.bbtg-v2[data-bbtg-surface="app"] .bbtg-shell {
  display: block;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-resizer {
  display: none;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-rooms {
  width: 100%;
  height: 100%;
  border-right: 0;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-chat {
  display: none;
}

.bbtg-v2[data-bbtg-surface="app"].is-room-open .bbtg-chat {
  position: fixed;
  left: 50%;
  top: var(--bbtg-vv-top);
  z-index: 10100;
  width: min(100vw, 540px);
  height: var(--bbtg-vv-height);
  display: grid;
  grid-template-rows: calc(58px + env(safe-area-inset-top, 0px)) minmax(0, 1fr) auto;
  transform: translateX(-50%);
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-back {
  display: inline-grid;
  position: relative;
  z-index: 2;
  pointer-events: auto;
  touch-action: manipulation;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-chat-head {
  padding: calc(7px + env(safe-area-inset-top, 0px)) 8px 7px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-selection-bar {
  height: 58px;
  padding: 7px 8px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-room-avatar {
  width: 40px;
  height: 40px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-room-title strong {
  font-size: 15px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-refresh {
  width: 36px;
  min-width: 36px;
  min-height: 36px;
  overflow: hidden;
  padding: 0;
  border-radius: 50%;
  font-size: 0;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-refresh::before {
  content: "\21bb";
  font-size: 19px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message-viewport {
  padding: 10px 8px 8px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message {
  max-width: 87%;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row {
  touch-action: pan-y;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-media-img,
.bbtg-v2[data-bbtg-surface="app"] .bbtg-link-card img {
  -webkit-user-drag: none;
}

.bbtg-v2[data-bbtg-surface="app"].is-selecting .bbtg-message a,
.bbtg-v2[data-bbtg-surface="app"].is-selecting .bbtg-message button,
.bbtg-v2[data-bbtg-surface="app"].is-selecting .bbtg-message-actions {
  pointer-events: none;
}

.bbtg-v2[data-bbtg-surface="app"].is-selecting .bbtg-composer {
  visibility: hidden;
  pointer-events: none;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-avatar {
  width: 31px;
  height: 31px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-media-img {
  max-width: min(300px, 100%);
  max-height: 230px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-link-card {
  width: min(360px, 100%);
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-composer {
  grid-template-columns: 38px 38px minmax(0, 1fr) 38px 54px;
  gap: 5px;
  padding: 7px 7px calc(7px + env(safe-area-inset-bottom, 0px));
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-icon-btn {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-composer textarea,
.bbtg-v2[data-bbtg-surface="app"] .bbtg-send {
  min-height: 38px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-send {
  padding: 0 7px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-jump {
  right: 11px;
  bottom: calc(70px + env(safe-area-inset-bottom, 0px));
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-reaction-tray {
  display: grid;
  grid-template-columns: repeat(4, 34px);
  border-radius: 12px;
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-emoji-grid {
  grid-template-columns: repeat(7, minmax(38px, 1fr));
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-toast {
  bottom: calc(76px + env(safe-area-inset-bottom, 0px));
}

.bbtg-app-unread[hidden] {
  display: none !important;
}

.bottom-tabbar .tab-btn .bbtg-app-unread:not([hidden]) {
  display: inline-grid !important;
  width: auto;
  height: 19px;
  background: var(--bbtg-orange) !important;
}

body.bbtg-v2-enabled:not(.bbtg-v2-mobile-chat-open) .member-app [data-chat-panel].is-active {
  top: var(--app-topbar-h) !important;
  bottom: var(--bottom-nav-h) !important;
  width: min(100%, 540px) !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.bbtg-v2-enabled:not(.bbtg-v2-mobile-chat-open) .member-app [data-chat-panel].is-active > .bbtg-v2[data-bbtg-surface="app"] {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.bbtg-v2-mobile-chat-open .member-app [data-chat-panel].is-active {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 10100 !important;
}

body.bbtg-v2-mobile-chat-open .bbtg-v2[data-bbtg-surface="app"] {
  position: fixed !important;
  left: 50% !important;
  top: var(--bbtg-vv-top) !important;
  width: min(100vw, 540px) !important;
  height: var(--bbtg-vv-height) !important;
  transform: translateX(-50%) !important;
}

body.bbtg-v2-mobile-chat-open .bbtg-v2[data-bbtg-surface="app"].is-room-open .bbtg-chat {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .bbtg-v2 *,
  .bbtg-v2 *::before,
  .bbtg-v2 *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* v2.16 Structured Market Intel messages — shared by desktop, mobile web and APP. */
.bbtg-v2 .bbtg-message-row.has-intel-brief .bbtg-message {
  width: min(960px, calc(100% - 54px));
  max-width: min(960px, calc(100% - 54px));
  padding: 8px;
  border-color: rgba(80, 217, 239, 0.28);
  background: linear-gradient(145deg, rgba(12, 28, 45, 0.98), rgba(17, 35, 62, 0.97));
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-message-row.has-intel-brief.is-own .bbtg-message {
  background: linear-gradient(145deg, rgba(21, 70, 128, 0.96), rgba(54, 77, 192, 0.94));
}

.bbtg-v2 .bbtg-message-text--intel {
  width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-intel-brief {
  width: 100%;
  display: grid;
  gap: 10px;
  color: #edf8ff;
}

.bbtg-v2 .bbtg-intel-brief > header {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid rgba(113, 231, 255, 0.2);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(44, 117, 187, 0.18), rgba(121, 77, 225, 0.16));
}

.bbtg-v2 .bbtg-intel-brief > header > span {
  color: #71e7ff;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.18em;
}

.bbtg-v2 .bbtg-intel-brief > header > strong {
  color: #ffffff;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.28;
}

.bbtg-v2 .bbtg-intel-brief > header > small {
  color: rgba(229, 241, 251, 0.7);
  font-size: 10px;
  line-height: 1.4;
}

.bbtg-v2 .bbtg-intel-section {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 3px solid rgba(80, 217, 239, 0.7);
  border-radius: 10px;
  background: rgba(3, 11, 19, 0.26);
}

.bbtg-v2 .bbtg-intel-section.is-urgent { border-left-color: #ff9b65; }
.bbtg-v2 .bbtg-intel-section.is-unlock,
.bbtg-v2 .bbtg-intel-section.is-confirm { border-left-color: #ff7f93; }
.bbtg-v2 .bbtg-intel-section.is-focus { border-left-color: #ffd26f; }
.bbtg-v2 .bbtg-intel-section.is-assets { border-left-color: #8cecff; }
.bbtg-v2 .bbtg-intel-section.is-radar { border-left-color: #9f8bff; }

.bbtg-v2 .bbtg-intel-section > h4 {
  margin: 0;
  color: #ffffff;
  font-size: 12px;
  line-height: 1.35;
}

.bbtg-v2 .bbtg-intel-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.bbtg-v2 .bbtg-intel-event {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(78px, auto) minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 9px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 9px;
  background: rgba(13, 29, 44, 0.72);
}

.bbtg-v2 .bbtg-intel-event-time {
  display: grid;
  gap: 3px;
  align-content: start;
  padding: 6px 7px;
  border-radius: 8px;
  background: rgba(80, 217, 239, 0.1);
}

.bbtg-v2 .bbtg-intel-event-time strong {
  color: #dffbff;
  font-size: 10px;
  line-height: 1.2;
}

.bbtg-v2 .bbtg-intel-event-time span {
  color: #82dff0;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
}

.bbtg-v2 .bbtg-intel-event-copy {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.bbtg-v2 .bbtg-intel-event-copy h5 {
  margin: 0;
  color: #f7fbff;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 850;
}

.bbtg-v2 .bbtg-intel-event-copy p,
.bbtg-v2 .bbtg-intel-notes p {
  margin: 0;
  color: rgba(232, 242, 250, 0.74);
  font-size: 10px;
  line-height: 1.45;
}

.bbtg-v2 .bbtg-intel-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.bbtg-v2 .bbtg-intel-tags span {
  min-height: 19px;
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 950;
  line-height: 1;
}

.bbtg-v2 .bbtg-intel-asset {
  border: 1px solid rgba(80, 217, 239, 0.24);
  background: rgba(80, 217, 239, 0.1);
  color: #baf6ff;
}

.bbtg-v2 .bbtg-intel-impact {
  border: 1px solid rgba(255, 210, 111, 0.28);
  background: rgba(255, 210, 111, 0.1);
  color: #ffe3a1;
}

.bbtg-v2 .bbtg-intel-impact.is-critical,
.bbtg-v2 .bbtg-intel-impact.is-risk {
  border-color: rgba(255, 127, 147, 0.32);
  background: rgba(255, 127, 147, 0.12);
  color: #ffb4c0;
}

.bbtg-v2 .bbtg-intel-impact.is-positive {
  border-color: rgba(125, 242, 174, 0.32);
  background: rgba(125, 242, 174, 0.1);
  color: #a8ffd0;
}

.bbtg-v2 .bbtg-intel-notes {
  display: grid;
  gap: 5px;
  padding: 8px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.bbtg-v2 .bbtg-intel-brief a {
  color: #bff6ff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.bbtg-v2 .bbtg-intel-brief > footer {
  padding: 8px 10px;
  border: 1px solid rgba(255, 210, 111, 0.14);
  border-radius: 9px;
  background: rgba(255, 210, 111, 0.055);
  color: #f7dda0;
  font-size: 9px;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .bbtg-v2 .bbtg-intel-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-message-row.has-intel-brief .bbtg-message,
  .bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row.has-intel-brief .bbtg-message {
    width: calc(100% - 37px);
    max-width: calc(100% - 37px);
    padding: 6px;
  }
  .bbtg-v2 .bbtg-intel-brief { gap: 7px; }
  .bbtg-v2 .bbtg-intel-section { padding: 8px; }
  .bbtg-v2 .bbtg-intel-event {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 8px;
  }
  .bbtg-v2 .bbtg-intel-event-time {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .bbtg-v2 .bbtg-intel-event-copy h5 { font-size: 11px; }
}

/* v2.17 Financial Brief + Edge Radar structured cards. */
.bbtg-v2 .bbtg-message-row.has-structured-brief .bbtg-message {
  width: min(1040px, calc(100% - 54px));
  max-width: min(1040px, calc(100% - 54px));
}

.bbtg-v2 .bbtg-finance-brief,
.bbtg-v2 .bbtg-radar-brief {
  width: 100%;
  display: grid;
  gap: 10px;
  color: #edf8ff;
}

.bbtg-v2 .bbtg-finance-brief > header,
.bbtg-v2 .bbtg-radar-brief > header {
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border: 1px solid rgba(113, 231, 255, 0.22);
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(32, 117, 184, 0.2), rgba(120, 72, 219, 0.18));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.bbtg-v2 .bbtg-finance-brief.is-morning > header {
  background: linear-gradient(135deg, rgba(255, 178, 70, 0.18), rgba(62, 139, 213, 0.18));
  border-color: rgba(255, 205, 118, 0.24);
}

.bbtg-v2 .bbtg-finance-brief.is-evening > header {
  background: linear-gradient(135deg, rgba(69, 93, 196, 0.22), rgba(139, 72, 217, 0.2));
  border-color: rgba(174, 145, 255, 0.25);
}

.bbtg-v2 .bbtg-finance-brief > header > span,
.bbtg-v2 .bbtg-radar-brief > header > span {
  color: #77ecff;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.17em;
}

.bbtg-v2 .bbtg-finance-brief.is-morning > header > span { color: #ffd78a; }
.bbtg-v2 .bbtg-finance-brief.is-evening > header > span { color: #c7b7ff; }

.bbtg-v2 .bbtg-finance-brief > header > strong,
.bbtg-v2 .bbtg-radar-brief > header > strong {
  color: #fff;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.3;
}

.bbtg-v2 .bbtg-finance-brief > header > small {
  color: rgba(229, 241, 251, 0.72);
  font-size: 10px;
}

.bbtg-v2 .bbtg-finance-overview {
  display: grid;
  gap: 5px;
  padding: 9px 11px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.035);
}

.bbtg-v2 .bbtg-finance-overview p {
  margin: 0;
  color: rgba(236, 246, 253, 0.82);
  font-size: 10px;
  line-height: 1.5;
}

.bbtg-v2 .bbtg-finance-grid,
.bbtg-v2 .bbtg-radar-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bbtg-v2 .bbtg-finance-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(8, 24, 39, 0.84), rgba(13, 29, 49, 0.72));
}

.bbtg-v2 .bbtg-finance-card-head {
  min-width: 0;
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.bbtg-v2 .bbtg-finance-index {
  width: 27px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(113, 231, 255, 0.28);
  border-radius: 8px;
  background: rgba(113, 231, 255, 0.1);
  color: #c7f9ff;
  font-size: 11px;
  font-weight: 950;
}

.bbtg-v2 .bbtg-finance-card-head h5 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 900;
}

.bbtg-v2 .bbtg-finance-field {
  min-width: 0;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 7px;
  padding: 7px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.bbtg-v2 .bbtg-finance-field > strong {
  color: #8defff;
  font-size: 9px;
  line-height: 1.45;
}

.bbtg-v2 .bbtg-finance-field > p {
  margin: 0;
  color: rgba(236, 244, 250, 0.78);
  font-size: 10px;
  line-height: 1.5;
}

.bbtg-v2 .bbtg-finance-field.is-source {
  border: 1px solid rgba(113, 231, 255, 0.1);
  background: rgba(60, 188, 210, 0.05);
}

.bbtg-v2 .bbtg-finance-field.is-source > strong { color: #b8f7ff; }
.bbtg-v2 .bbtg-finance-field a,
.bbtg-v2 .bbtg-radar-field a { color: #bff6ff; text-decoration: underline; text-underline-offset: 2px; }

.bbtg-v2 .bbtg-radar-meta {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 9px;
  border: 1px solid rgba(151, 132, 255, 0.16);
  border-radius: 10px;
  background: rgba(88, 62, 168, 0.07);
}

.bbtg-v2 .bbtg-radar-meta > div {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 6px;
  padding: 6px 7px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-radar-meta strong {
  color: #bdaeff;
  font-size: 9px;
}

.bbtg-v2 .bbtg-radar-meta span {
  min-width: 0;
  color: rgba(235, 242, 250, 0.76);
  font-size: 9px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-radar-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(151, 132, 255, 0.16);
  border-top: 2px solid rgba(141, 233, 255, 0.62);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(11, 24, 41, 0.9), rgba(19, 29, 55, 0.78));
}

.bbtg-v2 .bbtg-radar-card.is-critical { border-top-color: #ff8e9e; }
.bbtg-v2 .bbtg-radar-card.is-ready { border-top-color: #80f0ba; }
.bbtg-v2 .bbtg-radar-card.is-watch { border-top-color: #ffd277; }

.bbtg-v2 .bbtg-radar-card > header {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.bbtg-v2 .bbtg-radar-rank {
  color: rgba(190, 232, 244, 0.66);
  font-size: 9px;
  font-weight: 900;
}

.bbtg-v2 .bbtg-radar-card > header > div { min-width: 0; display: grid; gap: 2px; }
.bbtg-v2 .bbtg-radar-card > header > div > strong { color: #fff; font-size: 14px; line-height: 1.15; }
.bbtg-v2 .bbtg-radar-card > header > div > small { color: rgba(219, 234, 244, 0.58); font-size: 8px; line-height: 1.3; overflow-wrap: anywhere; }

.bbtg-v2 .bbtg-radar-score {
  min-width: 47px;
  display: grid;
  justify-items: center;
  padding: 5px 7px;
  border-radius: 8px;
  background: rgba(113, 231, 255, 0.09);
}

.bbtg-v2 .bbtg-radar-score b { color: #c9fbff; font-size: 15px; line-height: 1; }
.bbtg-v2 .bbtg-radar-score small { color: rgba(203, 243, 250, 0.7); font-size: 8px; font-weight: 900; }
.bbtg-v2 .bbtg-radar-card.is-critical .bbtg-radar-score { background: rgba(255, 126, 145, 0.11); }
.bbtg-v2 .bbtg-radar-card.is-critical .bbtg-radar-score b { color: #ffb8c2; }
.bbtg-v2 .bbtg-radar-card.is-ready .bbtg-radar-score { background: rgba(103, 234, 164, 0.1); }
.bbtg-v2 .bbtg-radar-card.is-ready .bbtg-radar-score b { color: #a9ffd0; }

.bbtg-v2 .bbtg-radar-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid rgba(151, 132, 255, 0.15);
  border-radius: 7px;
  background: rgba(120, 87, 220, 0.08);
}

.bbtg-v2 .bbtg-radar-command span { color: rgba(221, 215, 255, 0.7); font-size: 8px; font-weight: 850; }
.bbtg-v2 .bbtg-radar-command strong { color: #d7cdff; font-size: 9px; letter-spacing: 0.04em; overflow-wrap: anywhere; }

.bbtg-v2 .bbtg-radar-meter {
  height: 3px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.07);
}

.bbtg-v2 .bbtg-radar-meter i {
  display: block;
  height: 100%;
  max-width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(105, 221, 245, 0.66), rgba(162, 125, 255, 0.86));
}

.bbtg-v2 .bbtg-radar-field {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 7px;
  padding: 6px 7px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-radar-field > strong { color: #91eafa; font-size: 8px; line-height: 1.45; }
.bbtg-v2 .bbtg-radar-field > p { margin: 0; color: rgba(235, 243, 249, 0.76); font-size: 9px; line-height: 1.48; }
.bbtg-v2 .bbtg-radar-field.is-risk > strong { color: #ffadbb; }
.bbtg-v2 .bbtg-radar-field.is-plan > strong { color: #a8ffd0; }

.bbtg-v2 .bbtg-finance-brief > footer,
.bbtg-v2 .bbtg-radar-brief > footer {
  padding: 8px 10px;
  border: 1px solid rgba(255, 210, 111, 0.14);
  border-radius: 9px;
  background: rgba(255, 210, 111, 0.055);
  color: #f7dda0;
  font-size: 9px;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .bbtg-v2 .bbtg-finance-grid,
  .bbtg-v2 .bbtg-radar-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-message-row.has-structured-brief .bbtg-message,
  .bbtg-v2[data-bbtg-surface="app"] .bbtg-message-row.has-structured-brief .bbtg-message {
    width: calc(100% - 37px);
    max-width: calc(100% - 37px);
    padding: 6px;
  }
  .bbtg-v2 .bbtg-finance-brief,
  .bbtg-v2 .bbtg-radar-brief { gap: 7px; }
  .bbtg-v2 .bbtg-finance-card,
  .bbtg-v2 .bbtg-radar-card { padding: 8px; }
  .bbtg-v2 .bbtg-finance-field,
  .bbtg-v2 .bbtg-radar-field { grid-template-columns: 1fr; gap: 3px; }
  .bbtg-v2 .bbtg-radar-meta { grid-template-columns: 1fr; }
  .bbtg-v2 .bbtg-radar-meta > div { grid-template-columns: 1fr; gap: 2px; }
  .bbtg-v2 .bbtg-radar-card > header { grid-template-columns: auto minmax(0, 1fr) auto; }
  .bbtg-v2 .bbtg-finance-card-head h5 { font-size: 11px; }
}


/* v2.18 Radar parser + BTC/ETH commander and verified market cards. */
.bbtg-v2 .bbtg-commander-brief,
.bbtg-v2 .bbtg-market-brief {
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 10px;
  color: #edf8ff;
}

.bbtg-v2 .bbtg-commander-brief > header,
.bbtg-v2 .bbtg-market-brief > header {
  display: grid;
  gap: 4px;
  padding: 12px 13px;
  border: 1px solid rgba(113, 231, 255, 0.22);
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(38, 94, 178, 0.22), rgba(123, 70, 207, 0.18));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.bbtg-v2 .bbtg-market-brief > header {
  background: linear-gradient(135deg, rgba(22, 134, 150, 0.2), rgba(32, 81, 166, 0.2));
}

.bbtg-v2 .bbtg-commander-brief > header > span,
.bbtg-v2 .bbtg-market-brief > header > span {
  color: #83efff;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.16em;
}

.bbtg-v2 .bbtg-commander-brief > header > strong,
.bbtg-v2 .bbtg-market-brief > header > strong {
  color: #fff;
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.3;
}

.bbtg-v2 .bbtg-commander-meta,
.bbtg-v2 .bbtg-market-meta {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 9px;
  border: 1px solid rgba(144, 166, 255, 0.15);
  border-radius: 10px;
  background: rgba(74, 79, 164, 0.07);
}

.bbtg-v2 .bbtg-market-meta {
  border-color: rgba(92, 222, 232, 0.15);
  background: rgba(35, 137, 149, 0.06);
}

.bbtg-v2 .bbtg-commander-meta > div,
.bbtg-v2 .bbtg-market-meta > div {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 6px;
  padding: 6px 7px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-commander-meta strong,
.bbtg-v2 .bbtg-market-meta strong {
  color: #bdb1ff;
  font-size: 9px;
}

.bbtg-v2 .bbtg-market-meta strong { color: #8ceef4; }

.bbtg-v2 .bbtg-commander-meta span,
.bbtg-v2 .bbtg-market-meta span {
  min-width: 0;
  color: rgba(235, 242, 250, 0.76);
  font-size: 9px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-commander-grid,
.bbtg-v2 .bbtg-market-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bbtg-v2 .bbtg-commander-card,
.bbtg-v2 .bbtg-market-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(142, 155, 255, 0.16);
  border-top: 2px solid #7ce8ff;
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(10, 24, 42, 0.91), rgba(20, 30, 56, 0.78));
}

.bbtg-v2 .bbtg-commander-card.is-ready { border-top-color: #75efb5; }
.bbtg-v2 .bbtg-commander-card.is-watch { border-top-color: #ffd073; }
.bbtg-v2 .bbtg-commander-card.is-risk { border-top-color: #ff899d; }
.bbtg-v2 .bbtg-commander-card.is-neutral { border-top-color: #84b7cf; }
.bbtg-v2 .bbtg-market-card.is-up { border-top-color: #74eeb3; }
.bbtg-v2 .bbtg-market-card.is-down { border-top-color: #ff8c9d; }
.bbtg-v2 .bbtg-market-card.is-unconfirmed { border-top-color: #ffd073; }

.bbtg-v2 .bbtg-commander-card > header,
.bbtg-v2 .bbtg-market-card > header {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.bbtg-v2 .bbtg-commander-card > header > div,
.bbtg-v2 .bbtg-market-card > header > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.bbtg-v2 .bbtg-commander-card > header strong,
.bbtg-v2 .bbtg-market-card > header strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.1;
}

.bbtg-v2 .bbtg-commander-card > header small,
.bbtg-v2 .bbtg-market-card > header small {
  color: rgba(219, 234, 244, 0.58);
  font-size: 9px;
}

.bbtg-v2 .bbtg-commander-state,
.bbtg-v2 .bbtg-market-card > header > span {
  max-width: 48%;
  padding: 5px 7px;
  border: 1px solid rgba(142, 155, 255, 0.16);
  border-radius: 999px;
  background: rgba(115, 99, 218, 0.09);
  color: #d9d4ff;
  font-size: 8px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-market-card > header > span {
  border-color: rgba(92, 222, 232, 0.16);
  background: rgba(35, 161, 174, 0.08);
  color: #baf8fb;
  letter-spacing: 0.04em;
}

.bbtg-v2 .bbtg-commander-field {
  min-width: 0;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 7px;
  padding: 7px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-commander-field > strong {
  color: #91eafa;
  font-size: 9px;
  line-height: 1.45;
}

.bbtg-v2 .bbtg-commander-field > p {
  margin: 0;
  color: rgba(235, 243, 249, 0.78);
  font-size: 10px;
  line-height: 1.52;
}

.bbtg-v2 .bbtg-commander-field.is-decision > strong { color: #ffd985; }
.bbtg-v2 .bbtg-commander-field.is-missing > strong { color: #ffadbb; }
.bbtg-v2 .bbtg-commander-field.is-signal > strong,
.bbtg-v2 .bbtg-commander-field.is-pac > strong { color: #a8ffd0; }

.bbtg-v2 .bbtg-market-metrics {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.bbtg-v2 .bbtg-market-metric {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.bbtg-v2 .bbtg-market-metric > strong {
  color: #86eaf1;
  font-size: 8px;
  letter-spacing: 0.04em;
}

.bbtg-v2 .bbtg-market-metric > span {
  color: #f4fbff;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-market-metric.is-missing {
  grid-column: 1 / -1;
  border: 1px solid rgba(255, 208, 115, 0.14);
  background: rgba(255, 208, 115, 0.055);
}

.bbtg-v2 .bbtg-market-metric.is-missing > strong,
.bbtg-v2 .bbtg-market-metric.is-missing > span { color: #f5d892; }

.bbtg-v2 .bbtg-commander-notes,
.bbtg-v2 .bbtg-market-notes {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-commander-notes p,
.bbtg-v2 .bbtg-market-notes p {
  margin: 0;
  color: rgba(235, 243, 249, 0.76);
  font-size: 9px;
  line-height: 1.5;
}

.bbtg-v2 .bbtg-commander-brief > footer,
.bbtg-v2 .bbtg-market-brief > footer {
  padding: 8px 10px;
  border: 1px solid rgba(255, 210, 111, 0.14);
  border-radius: 9px;
  background: rgba(255, 210, 111, 0.055);
  color: #f7dda0;
  font-size: 9px;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .bbtg-v2 .bbtg-commander-grid,
  .bbtg-v2 .bbtg-market-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-commander-brief,
  .bbtg-v2 .bbtg-market-brief { gap: 7px; }
  .bbtg-v2 .bbtg-commander-card,
  .bbtg-v2 .bbtg-market-card { padding: 8px; }
  .bbtg-v2 .bbtg-commander-meta,
  .bbtg-v2 .bbtg-market-meta,
  .bbtg-v2 .bbtg-market-metrics { grid-template-columns: 1fr; }
  .bbtg-v2 .bbtg-commander-meta > div,
  .bbtg-v2 .bbtg-market-meta > div,
  .bbtg-v2 .bbtg-commander-field { grid-template-columns: 1fr; gap: 3px; }
  .bbtg-v2 .bbtg-market-metric.is-missing { grid-column: auto; }
  .bbtg-v2 .bbtg-commander-state { max-width: 52%; }
}

/* v2.17 Owner-only Edge AI Intelligence Desk. */
.bbtg-v2 .bbtg-room-card.is-private-workbench {
  border-color: rgba(156, 132, 255, 0.24);
  background: linear-gradient(135deg, rgba(91, 66, 179, 0.11), rgba(34, 110, 163, 0.08));
}

.bbtg-v2 .bbtg-room-card.is-private-workbench.is-active {
  border-color: rgba(137, 222, 255, 0.42);
  box-shadow: 0 0 0 1px rgba(137, 222, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.bbtg-v2 .bbtg-room-card.is-private-workbench .bbtg-room-icon {
  border-color: rgba(172, 146, 255, 0.34);
  background: radial-gradient(circle at 34% 30%, rgba(124, 227, 255, 0.24), rgba(95, 63, 180, 0.18));
}

.bbtg-v2 .bbtg-room-copy > strong {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.bbtg-v2 .bbtg-private-room-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 17px;
  padding: 1px 6px;
  border: 1px solid rgba(163, 142, 255, 0.25);
  border-radius: 999px;
  background: rgba(136, 105, 234, 0.11);
  color: #d6caff;
  font-size: 7px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.bbtg-v2.is-edge-intel-workbench .bbtg-room-head {
  border-bottom-color: rgba(147, 128, 255, 0.22);
  background: linear-gradient(90deg, rgba(68, 49, 139, 0.08), rgba(31, 94, 141, 0.05));
}

.bbtg-v2.is-edge-intel-workbench .bbtg-composer {
  border-top-color: rgba(139, 218, 255, 0.22);
  background: linear-gradient(180deg, rgba(12, 28, 46, 0.98), rgba(19, 25, 50, 0.99));
}

.bbtg-v2.is-edge-intel-workbench .bbtg-composer textarea {
  border-color: rgba(139, 218, 255, 0.24);
  background: rgba(7, 18, 31, 0.82);
}

.bbtg-v2.is-edge-intel-workbench .bbtg-composer textarea:focus {
  border-color: rgba(139, 218, 255, 0.48);
  box-shadow: 0 0 0 2px rgba(92, 198, 229, 0.08);
}

/* v2.17 readability tuning for long intelligence reports. */
.bbtg-v2 .bbtg-finance-card-head h5 { font-size: 13px; }
.bbtg-v2 .bbtg-finance-field > strong { font-size: 10px; }
.bbtg-v2 .bbtg-finance-field > p { font-size: 11px; line-height: 1.58; }
.bbtg-v2 .bbtg-finance-overview p { font-size: 11px; }
.bbtg-v2 .bbtg-radar-meta strong { font-size: 10px; }
.bbtg-v2 .bbtg-radar-meta span { font-size: 10px; line-height: 1.5; }
.bbtg-v2 .bbtg-radar-card > header > div > small { font-size: 9px; }
.bbtg-v2 .bbtg-radar-command span { font-size: 9px; }
.bbtg-v2 .bbtg-radar-command strong { font-size: 10px; }
.bbtg-v2 .bbtg-radar-field > strong { font-size: 9px; }
.bbtg-v2 .bbtg-radar-field > p { font-size: 10.5px; line-height: 1.55; }
.bbtg-v2 .bbtg-finance-brief > footer,
.bbtg-v2 .bbtg-radar-brief > footer { font-size: 10px; }
.bbtg-v2.is-edge-intel-workbench .bbtg-chat-head {
  border-bottom-color: rgba(147, 128, 255, 0.22);
  background: linear-gradient(90deg, rgba(68, 49, 139, 0.08), rgba(31, 94, 141, 0.05));
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-finance-card-head h5 { font-size: 12px; }
  .bbtg-v2 .bbtg-finance-field > p,
  .bbtg-v2 .bbtg-radar-field > p { font-size: 11px; }
}

/* v2.19 Full editorial finance brief: overview, market temperature, key news, crypto, small-cap, calendar, watchlist, risk and verdict. */
.bbtg-v2 .bbtg-finance-brief.is-editorial {
  gap: 9px;
}

.bbtg-v2 .bbtg-finance-brief.is-editorial > header {
  position: relative;
  overflow: hidden;
  padding: 13px 14px;
}

.bbtg-v2 .bbtg-finance-brief.is-editorial > header::after {
  content: "";
  position: absolute;
  inset: auto -8% -80% 42%;
  height: 180%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(113, 231, 255, 0.16), transparent 65%);
  pointer-events: none;
}

.bbtg-v2 .bbtg-finance-report-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.bbtg-v2 .bbtg-finance-report-meta > div {
  min-width: 0;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 7px;
  padding: 8px 9px;
  border: 1px solid rgba(114, 227, 255, 0.12);
  border-radius: 9px;
  background: rgba(10, 31, 48, 0.58);
}

.bbtg-v2 .bbtg-finance-report-meta strong {
  color: #86eaff;
  font-size: 9px;
}

.bbtg-v2 .bbtg-finance-report-meta span {
  min-width: 0;
  color: rgba(238, 247, 253, 0.84);
  font-size: 10px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-finance-report-preface {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.025);
}

.bbtg-v2 .bbtg-finance-report-preface p,
.bbtg-v2 .bbtg-finance-report-list p {
  margin: 0;
  color: rgba(236, 246, 253, 0.8);
  font-size: 10px;
  line-height: 1.55;
}

.bbtg-v2 .bbtg-finance-report-section {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(6, 24, 39, 0.78), rgba(12, 30, 49, 0.68));
}

.bbtg-v2 .bbtg-finance-report-section > h4 {
  margin: 0;
  padding: 0 0 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  color: #f4fbff;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 950;
}

.bbtg-v2 .bbtg-finance-report-section.is-overview { border-color: rgba(255, 205, 118, 0.17); }
.bbtg-v2 .bbtg-finance-report-section.is-temperature { border-color: rgba(113, 231, 255, 0.15); }
.bbtg-v2 .bbtg-finance-report-section.is-focus { border-color: rgba(255, 145, 122, 0.15); }
.bbtg-v2 .bbtg-finance-report-section.is-crypto { border-color: rgba(138, 172, 255, 0.17); }
.bbtg-v2 .bbtg-finance-report-section.is-smallcap { border-color: rgba(173, 139, 255, 0.17); }
.bbtg-v2 .bbtg-finance-report-section.is-calendar { border-color: rgba(112, 234, 197, 0.15); }
.bbtg-v2 .bbtg-finance-report-section.is-risk { border-color: rgba(255, 119, 143, 0.18); }
.bbtg-v2 .bbtg-finance-report-section.is-verdict { border-color: rgba(255, 210, 111, 0.2); }

.bbtg-v2 .bbtg-finance-summary-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(255, 209, 120, 0.15);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 176, 67, 0.1), rgba(50, 123, 183, 0.08));
}

.bbtg-v2 .bbtg-finance-summary-card > span {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 216, 143, 0.22);
  border-radius: 9px;
  background: rgba(255, 192, 81, 0.11);
  color: #ffe0a4;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.bbtg-v2 .bbtg-finance-summary-card p {
  margin: 0;
  color: rgba(248, 247, 238, 0.9);
  font-size: 11px;
  line-height: 1.62;
}

.bbtg-v2 .bbtg-finance-temperature-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.bbtg-v2 .bbtg-finance-temperature-group,
.bbtg-v2 .bbtg-finance-temperature-note {
  grid-column: 1 / -1;
}

.bbtg-v2 .bbtg-finance-temperature-group {
  margin: 2px 0 0;
  color: #a9f3ff;
  font-size: 10px;
  font-weight: 900;
}

.bbtg-v2 .bbtg-finance-temperature-note {
  margin: 0;
  padding: 7px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
  color: rgba(234, 244, 251, 0.75);
  font-size: 9px;
  line-height: 1.5;
}

.bbtg-v2 .bbtg-finance-temperature-metric {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid rgba(113, 231, 255, 0.1);
  border-radius: 9px;
  background: rgba(24, 75, 101, 0.14);
}

.bbtg-v2 .bbtg-finance-temperature-metric strong {
  color: rgba(146, 235, 251, 0.8);
  font-size: 8px;
  line-height: 1.3;
}

.bbtg-v2 .bbtg-finance-temperature-metric span {
  color: #f4fbff;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-finance-temperature-metric.is-state {
  grid-column: 1 / -1;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: center;
  border-color: rgba(255, 181, 90, 0.18);
  background: rgba(255, 173, 62, 0.07);
}

.bbtg-v2 .bbtg-finance-temperature-metric.is-risk { border-color: rgba(255, 119, 143, 0.18); }
.bbtg-v2 .bbtg-finance-temperature-metric.is-positive { border-color: rgba(101, 234, 172, 0.17); }

.bbtg-v2 .bbtg-finance-editorial-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.bbtg-v2 .bbtg-finance-editorial-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-top: 2px solid rgba(121, 222, 245, 0.55);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(8, 25, 42, 0.9), rgba(14, 31, 53, 0.78));
}

.bbtg-v2 .bbtg-finance-editorial-card.is-risk { border-top-color: #ff8799; }
.bbtg-v2 .bbtg-finance-editorial-card.is-positive { border-top-color: #75efb0; }
.bbtg-v2 .bbtg-finance-editorial-card.is-watch { border-top-color: #ffd27c; }

.bbtg-v2 .bbtg-finance-editorial-card > header {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.bbtg-v2 .bbtg-finance-editorial-card h5 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 920;
}

.bbtg-v2 .bbtg-finance-editorial-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.bbtg-v2 .bbtg-finance-editorial-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.03);
  color: rgba(237, 246, 252, 0.78);
  font-size: 8px;
  line-height: 1.35;
}

.bbtg-v2 .bbtg-finance-editorial-meta strong {
  color: #91eaf8;
  font-size: 8px;
}

.bbtg-v2 .bbtg-finance-impact-stars {
  display: inline-flex;
  gap: 2px;
  align-items: center;
}

.bbtg-v2 .bbtg-finance-impact-stars i {
  width: 5px;
  height: 5px;
  display: block;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
}

.bbtg-v2 .bbtg-finance-impact-stars i.is-on { background: #ffca72; box-shadow: 0 0 6px rgba(255, 202, 114, 0.42); }

.bbtg-v2 .bbtg-finance-editorial-field {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 7px 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
}

.bbtg-v2 .bbtg-finance-editorial-field > strong {
  color: #8ce8f8;
  font-size: 8px;
  line-height: 1.35;
}

.bbtg-v2 .bbtg-finance-editorial-field.is-source {
  border: 1px solid rgba(110, 225, 246, 0.1);
  background: rgba(52, 166, 188, 0.05);
}

.bbtg-v2 .bbtg-finance-editorial-lines {
  display: grid;
  gap: 4px;
}

.bbtg-v2 .bbtg-finance-editorial-lines p {
  margin: 0;
  color: rgba(236, 245, 251, 0.78);
  font-size: 9px;
  line-height: 1.52;
}

.bbtg-v2 .bbtg-finance-report-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(88px, 0.38fr) minmax(0, 1fr);
  gap: 7px;
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.028);
}

.bbtg-v2 .bbtg-finance-report-row > strong {
  color: rgba(159, 232, 245, 0.84);
  font-size: 8px;
  line-height: 1.4;
}

.bbtg-v2 .bbtg-finance-report-row > span {
  min-width: 0;
  color: rgba(236, 244, 250, 0.8);
  font-size: 9px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.bbtg-v2 .bbtg-finance-report-row.is-risk > span { color: #ffc0c9; }
.bbtg-v2 .bbtg-finance-report-row.is-positive > span { color: #b9fbd8; }
.bbtg-v2 .bbtg-finance-report-row.is-watch > span { color: #ffe0a2; }
.bbtg-v2 .bbtg-finance-inline-strong { color: #f7fbff; font-weight: 900; }

.bbtg-v2 .bbtg-finance-crypto-intro,
.bbtg-v2 .bbtg-finance-smallcap-intro {
  padding: 8px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.028);
}

.bbtg-v2 .bbtg-finance-crypto-intro p,
.bbtg-v2 .bbtg-finance-smallcap-intro p {
  margin: 0;
  color: rgba(236, 245, 252, 0.79);
  font-size: 10px;
  line-height: 1.55;
}

.bbtg-v2 .bbtg-finance-crypto-grid,
.bbtg-v2 .bbtg-finance-smallcap-grid,
.bbtg-v2 .bbtg-finance-watch-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.bbtg-v2 .bbtg-finance-crypto-card,
.bbtg-v2 .bbtg-finance-smallcap-card,
.bbtg-v2 .bbtg-finance-watch-card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 9px;
  border: 1px solid rgba(119, 177, 255, 0.13);
  border-radius: 9px;
  background: rgba(22, 51, 82, 0.17);
}

.bbtg-v2 .bbtg-finance-crypto-card > header,
.bbtg-v2 .bbtg-finance-smallcap-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.bbtg-v2 .bbtg-finance-crypto-card > header > strong,
.bbtg-v2 .bbtg-finance-smallcap-card > header > strong,
.bbtg-v2 .bbtg-finance-watch-card > strong {
  color: #fff;
  font-size: 12px;
  line-height: 1.2;
}

.bbtg-v2 .bbtg-finance-crypto-card > header > span {
  color: rgba(169, 219, 255, 0.64);
  font-size: 8px;
}

.bbtg-v2 .bbtg-finance-smallcap-card h5 {
  margin: 0;
  color: rgba(236, 245, 252, 0.82);
  font-size: 9px;
  line-height: 1.45;
}

.bbtg-v2 .bbtg-finance-smallcap-score {
  min-width: 34px;
  padding: 4px 6px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.06);
  color: #eaf8ff;
  font-size: 11px;
  font-weight: 950;
  text-align: center;
}

.bbtg-v2 .bbtg-finance-smallcap-card.is-risk { border-color: rgba(255, 119, 143, 0.18); }
.bbtg-v2 .bbtg-finance-smallcap-card.is-risk .bbtg-finance-smallcap-score { color: #ffb8c3; background: rgba(255, 119, 143, 0.09); }
.bbtg-v2 .bbtg-finance-smallcap-card.is-positive { border-color: rgba(102, 235, 173, 0.17); }
.bbtg-v2 .bbtg-finance-smallcap-card.is-positive .bbtg-finance-smallcap-score { color: #a8ffd0; background: rgba(102, 235, 173, 0.09); }

.bbtg-v2 .bbtg-finance-calendar-list {
  display: grid;
  gap: 7px;
}

.bbtg-v2 .bbtg-finance-calendar-event {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(104px, 0.27fr) minmax(0, 1fr);
  gap: 9px;
  padding: 9px;
  border: 1px solid rgba(101, 234, 185, 0.13);
  border-radius: 9px;
  background: rgba(18, 62, 58, 0.12);
}

.bbtg-v2 .bbtg-finance-calendar-time {
  display: grid;
  align-content: start;
  gap: 3px;
}

.bbtg-v2 .bbtg-finance-calendar-time strong {
  color: #a9f7d7;
  font-size: 10px;
  line-height: 1.35;
}

.bbtg-v2 .bbtg-finance-calendar-time small {
  color: rgba(189, 236, 220, 0.55);
  font-size: 8px;
}

.bbtg-v2 .bbtg-finance-calendar-event h5 {
  margin: 0 0 5px;
  color: #fff;
  font-size: 11px;
  line-height: 1.4;
}

.bbtg-v2 .bbtg-finance-watch-card {
  grid-template-columns: minmax(70px, 0.28fr) minmax(0, 1fr);
  align-items: start;
}

.bbtg-v2 .bbtg-finance-watch-card p {
  margin: 0;
  color: rgba(235, 244, 250, 0.78);
  font-size: 9px;
  line-height: 1.48;
}

.bbtg-v2 .bbtg-finance-watch-card.is-risk { border-color: rgba(255, 119, 143, 0.15); }
.bbtg-v2 .bbtg-finance-watch-card.is-positive { border-color: rgba(101, 234, 172, 0.15); }

.bbtg-v2 .bbtg-finance-risk-intro {
  margin: 0;
  color: #ffd0d6;
  font-size: 10px;
  line-height: 1.5;
}

.bbtg-v2 .bbtg-finance-risk-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.bbtg-v2 .bbtg-finance-risk-list > div {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 7px;
  align-items: start;
  padding: 7px 8px;
  border: 1px solid rgba(255, 119, 143, 0.13);
  border-radius: 8px;
  background: rgba(105, 30, 48, 0.11);
}

.bbtg-v2 .bbtg-finance-risk-list span {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(255, 119, 143, 0.12);
  color: #ffb2be;
  font-size: 10px;
  font-weight: 950;
}

.bbtg-v2 .bbtg-finance-risk-list p {
  margin: 0;
  color: rgba(255, 223, 228, 0.82);
  font-size: 9px;
  line-height: 1.48;
}

.bbtg-v2 .bbtg-finance-verdict {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255, 210, 111, 0.18);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 184, 65, 0.09), rgba(63, 105, 170, 0.08));
}

.bbtg-v2 .bbtg-finance-verdict > header {
  display: grid;
  gap: 3px;
}

.bbtg-v2 .bbtg-finance-verdict > header > span {
  color: rgba(255, 218, 148, 0.7);
  font-size: 8px;
  font-weight: 900;
}

.bbtg-v2 .bbtg-finance-verdict > header > strong {
  color: #fff1cf;
  font-size: 13px;
  line-height: 1.35;
}

.bbtg-v2 .bbtg-finance-verdict > div {
  display: grid;
  gap: 5px;
}

.bbtg-v2 .bbtg-finance-verdict p {
  margin: 0;
  color: rgba(247, 244, 233, 0.84);
  font-size: 10px;
  line-height: 1.58;
}

.bbtg-v2 .bbtg-finance-verdict.is-risk { border-color: rgba(255, 119, 143, 0.2); background: linear-gradient(135deg, rgba(113, 34, 50, 0.16), rgba(37, 65, 101, 0.11)); }
.bbtg-v2 .bbtg-finance-verdict.is-positive { border-color: rgba(101, 234, 172, 0.18); background: linear-gradient(135deg, rgba(28, 91, 68, 0.15), rgba(37, 65, 101, 0.11)); }

@media (max-width: 1080px) {
  .bbtg-v2 .bbtg-finance-temperature-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .bbtg-v2 .bbtg-finance-editorial-grid,
  .bbtg-v2 .bbtg-finance-crypto-grid,
  .bbtg-v2 .bbtg-finance-smallcap-grid,
  .bbtg-v2 .bbtg-finance-watch-grid,
  .bbtg-v2 .bbtg-finance-risk-list { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-finance-report-meta,
  .bbtg-v2 .bbtg-finance-temperature-flow { grid-template-columns: 1fr; }
  .bbtg-v2 .bbtg-finance-report-meta > div,
  .bbtg-v2 .bbtg-finance-report-row,
  .bbtg-v2 .bbtg-finance-watch-card { grid-template-columns: 1fr; gap: 3px; }
  .bbtg-v2 .bbtg-finance-temperature-metric.is-state { grid-template-columns: 1fr; }
  .bbtg-v2 .bbtg-finance-calendar-event { grid-template-columns: 1fr; gap: 5px; }
  .bbtg-v2 .bbtg-finance-calendar-time { grid-template-columns: max-content max-content; align-items: center; gap: 7px; }
  .bbtg-v2 .bbtg-finance-summary-card { grid-template-columns: 28px minmax(0, 1fr); padding: 8px; }
  .bbtg-v2 .bbtg-finance-summary-card > span { width: 28px; height: 28px; border-radius: 8px; }
  .bbtg-v2 .bbtg-finance-report-section { padding: 8px; }
  .bbtg-v2 .bbtg-finance-editorial-card { padding: 8px; }
}


/* v2.20 Edge AI Command Center: categorized Owner/Admin and member command cards. */
.bbtg-v2 .bbtg-edge-help-btn {
  min-width: 52px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 7px;
  border: 1px solid rgba(118, 204, 255, 0.28);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(37, 91, 145, 0.74), rgba(81, 55, 151, 0.72));
  color: #effaff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(19, 63, 116, .18);
  cursor: pointer;
}
.bbtg-v2 .bbtg-edge-help-btn span { font-size: 14px; }
.bbtg-v2 .bbtg-edge-help-btn b { font-size: 8px; letter-spacing: .08em; }
.bbtg-v2 .bbtg-edge-help-btn:hover,
.bbtg-v2 .bbtg-edge-help-btn:focus-visible {
  border-color: rgba(121, 224, 255, .62);
  outline: 0;
  transform: translateY(-1px);
}

.bbtg-v2 .bbtg-edge-command-center {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.bbtg-v2 .bbtg-edge-command-center > header {
  display: grid;
  gap: 3px;
  padding: 12px 14px;
  border: 1px solid rgba(104, 213, 255, .25);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(16, 75, 124, .62), rgba(74, 43, 146, .6));
}
.bbtg-v2 .bbtg-edge-command-center > header > span {
  color: #7fe5ff;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .16em;
}
.bbtg-v2 .bbtg-edge-command-center > header > strong {
  color: #fff;
  font-size: 15px;
}
.bbtg-v2 .bbtg-edge-command-center > header > small {
  color: rgba(225, 241, 255, .72);
  font-size: 9px;
}
.bbtg-v2 .bbtg-edge-command-intro {
  display: grid;
  gap: 4px;
  padding: 9px 11px;
  border-left: 3px solid rgba(105, 218, 255, .58);
  border-radius: 8px;
  background: rgba(8, 31, 50, .62);
}
.bbtg-v2 .bbtg-edge-command-intro p {
  margin: 0;
  color: #d9eaff;
  font-size: 10px;
  line-height: 1.55;
}
.bbtg-v2 .bbtg-edge-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.bbtg-v2 .bbtg-edge-command-section {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(91, 185, 227, .19);
  border-radius: 11px;
  background: rgba(8, 24, 39, .82);
}
.bbtg-v2 .bbtg-edge-command-section.is-owner {
  border-color: rgba(171, 133, 255, .28);
  background: linear-gradient(155deg, rgba(31, 25, 64, .86), rgba(12, 29, 48, .86));
}
.bbtg-v2 .bbtg-edge-command-section > header {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(107, 192, 231, .14);
  background: rgba(41, 101, 143, .13);
}
.bbtg-v2 .bbtg-edge-command-section.is-owner > header {
  background: rgba(111, 72, 179, .16);
}
.bbtg-v2 .bbtg-edge-command-section > header strong {
  min-width: 0;
  color: #f2f8ff;
  font-size: 10px;
  line-height: 1.35;
}
.bbtg-v2 .bbtg-edge-command-section > div {
  display: grid;
  gap: 1px;
  padding: 4px;
}
.bbtg-v2 .bbtg-edge-command-item {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 7px;
  padding: 8px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.bbtg-v2 .bbtg-edge-command-item:hover,
.bbtg-v2 .bbtg-edge-command-item:focus-visible {
  outline: 0;
  background: rgba(78, 191, 231, .1);
}
.bbtg-v2 .bbtg-edge-command-section.is-owner .bbtg-edge-command-item:hover,
.bbtg-v2 .bbtg-edge-command-section.is-owner .bbtg-edge-command-item:focus-visible {
  background: rgba(152, 102, 239, .12);
}
.bbtg-v2 .bbtg-edge-command-item span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.bbtg-v2 .bbtg-edge-command-item b {
  overflow-wrap: anywhere;
  color: #7fe6ff;
  font-size: 9.5px;
  line-height: 1.35;
}
.bbtg-v2 .bbtg-edge-command-section.is-owner .bbtg-edge-command-item b { color: #c7adff; }
.bbtg-v2 .bbtg-edge-command-item small {
  color: rgba(221, 236, 248, .7);
  font-size: 8.5px;
  line-height: 1.45;
}
.bbtg-v2 .bbtg-edge-command-item i {
  color: rgba(126, 226, 245, .65);
  font-size: 13px;
  font-style: normal;
}
.bbtg-v2 .bbtg-edge-command-center > footer {
  padding: 7px 9px;
  border-radius: 8px;
  background: rgba(8, 26, 43, .64);
  color: rgba(221, 237, 249, .68);
  font-size: 8.5px;
  line-height: 1.45;
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-edge-help-btn {
    min-width: 38px;
    width: 38px;
    height: 38px;
    padding: 0;
  }
  .bbtg-v2 .bbtg-edge-help-btn b { display: none; }
  .bbtg-v2 .bbtg-edge-command-grid { grid-template-columns: 1fr; }
  .bbtg-v2 .bbtg-edge-command-center > header { padding: 10px 11px; }
  .bbtg-v2 .bbtg-edge-command-item { padding: 9px 8px; }
  .bbtg-v2 .bbtg-edge-command-item b { font-size: 10px; }
  .bbtg-v2 .bbtg-edge-command-item small { font-size: 9px; }
}


/* v1.5.1 Edge room scope guard */
.bbtg-v2 .bbtg-edge-help-btn[hidden] { display: none !important; }
.bbtg-v2 .bbtg-edge-help-btn:disabled {
  opacity: .48;
  cursor: not-allowed;
  filter: grayscale(.35);
  box-shadow: none;
}

/* v2.24 APP structured-message typography bridge.
   Rich finance, Radar and Edge cards now follow the member's local chat font setting. */
.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) {
  font-size: var(--bbtg-structured-body-font-size, 12px);
}

.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) p {
  font-size: var(--bbtg-structured-body-font-size, 12px) !important;
}

.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) :is(span, b, strong, button) {
  font-size: var(--bbtg-structured-label-font-size, 10.5px) !important;
}

.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) small,
.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) > footer,
.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) > header > span {
  font-size: var(--bbtg-structured-micro-font-size, 9px) !important;
}

.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) :is(h4, h5),
.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-finance-card,
  .bbtg-radar-card,
  .bbtg-commander-card,
  .bbtg-market-card,
  .bbtg-finance-editorial-card,
  .bbtg-finance-crypto-card,
  .bbtg-finance-smallcap-card,
  .bbtg-finance-watch-card
) > header strong {
  font-size: var(--bbtg-structured-heading-font-size, 13.5px) !important;
}

.bbtg-v2 .bbtg-message-text--structured :is(
  .bbtg-intel-brief,
  .bbtg-finance-brief,
  .bbtg-radar-brief,
  .bbtg-commander-brief,
  .bbtg-market-brief,
  .bbtg-edge-command-center
) > header > strong {
  font-size: var(--bbtg-structured-title-font-size, 16px) !important;
}

/* v2.22 Composer Width Guard
   Non-Edge rooms use four columns; Edge-enabled rooms use five columns.
   This prevents the textarea from falling into the former EDGE button column
   when the EDGE button is hidden. Shared by horizontal web, mobile web, and APP.
*/
.bbtg-v2 .bbtg-composer {
  grid-template-columns: 40px minmax(0, 1fr) 40px 60px;
}
.bbtg-v2.is-edge-enabled-room .bbtg-composer {
  grid-template-columns: 40px 52px minmax(0, 1fr) 40px 60px;
}
.bbtg-v2 .bbtg-composer > [data-bbtg-attach-toggle] { grid-column: 1; }
.bbtg-v2 .bbtg-composer > textarea {
  grid-column: 2;
  min-width: 0;
}
.bbtg-v2 .bbtg-composer > [data-bbtg-emoji-toggle] { grid-column: 3; }
.bbtg-v2 .bbtg-composer > [data-bbtg-send] { grid-column: 4; }
.bbtg-v2.is-edge-enabled-room .bbtg-composer > [data-bbtg-edge-help] { grid-column: 2; }
.bbtg-v2.is-edge-enabled-room .bbtg-composer > textarea { grid-column: 3; }
.bbtg-v2.is-edge-enabled-room .bbtg-composer > [data-bbtg-emoji-toggle] { grid-column: 4; }
.bbtg-v2.is-edge-enabled-room .bbtg-composer > [data-bbtg-send] { grid-column: 5; }

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-composer {
    grid-template-columns: 38px minmax(0, 1fr) 38px 54px;
  }
  .bbtg-v2.is-edge-enabled-room .bbtg-composer {
    grid-template-columns: 38px 38px minmax(0, 1fr) 38px 54px;
  }
}

.bbtg-v2[data-bbtg-surface="app"] .bbtg-composer {
  grid-template-columns: 38px minmax(0, 1fr) 38px 54px;
}
.bbtg-v2[data-bbtg-surface="app"].is-edge-enabled-room .bbtg-composer {
  grid-template-columns: 38px 38px minmax(0, 1fr) 38px 54px;
}


/* v2.25 Explicit @edge 整理 — smart editorial layout.
   Finance reports use the professional finance renderer. Personal articles stay light and human. */
.bbtg-v2 .bbtg-organized-note{
  overflow:hidden;
  border:1px solid rgba(118,190,226,.14);
  border-radius:13px;
  background:linear-gradient(150deg,rgba(3,15,27,.52),rgba(8,20,36,.34));
  box-shadow:inset 3px 0 0 rgba(79,210,244,.55);
}
.bbtg-v2 .bbtg-organized-note>header{
  padding:12px 15px 10px;
  border-bottom:1px solid rgba(124,202,234,.11);
  background:rgba(9,30,48,.30);
}
.bbtg-v2 .bbtg-organized-note>header strong{
  display:block;
  color:#f1f8fc;
  font-size:16px;
  font-weight:900;
  line-height:1.42;
  letter-spacing:.005em;
}
.bbtg-v2 .bbtg-organized-note-body{
  padding:14px 16px 15px;
  color:#e7f0f7;
}
.bbtg-v2 .bbtg-organized-note-body>p{
  margin:0 0 14px;
  color:#e7f0f7;
  font-size:15px;
  line-height:1.82;
  letter-spacing:.003em;
}
.bbtg-v2 .bbtg-organized-note-body>p.is-lead{
  color:#f5f9fc;
  font-size:15.5px;
  font-weight:720;
}
.bbtg-v2 .bbtg-organized-note-body>:last-child{margin-bottom:0}
.bbtg-v2 .bbtg-organized-note-body section{
  position:relative;
  margin:15px 0 0;
  padding:14px 0 0 15px;
  border-top:1px solid rgba(116,191,224,.12);
}
.bbtg-v2 .bbtg-organized-note-body section::before{
  content:"";
  position:absolute;
  left:0;
  top:17px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#70ddf7;
  box-shadow:0 0 10px rgba(94,218,248,.65);
}
.bbtg-v2 .bbtg-organized-note-body h4{
  margin:0 0 7px;
  color:#a9ebfb;
  font-size:13px;
  font-weight:900;
  line-height:1.4;
}
.bbtg-v2 .bbtg-organized-note-body section p{
  margin:0;
  color:#dce8f0;
  font-size:14.5px;
  line-height:1.78;
}
@media (max-width:760px){
  .bbtg-v2 .bbtg-organized-note-body{padding:12px 13px 13px}
  .bbtg-v2 .bbtg-organized-note-body>p{font-size:14px;line-height:1.75}
  .bbtg-v2 .bbtg-organized-note-body>p.is-lead{font-size:14.5px}
}


/* 88BB web/app emoji visual parity v1.0 */
.bbtg-v2 .bbtg-managed-emoji,
.bbtg-v2 .bbtg-native-emoji {
  filter: drop-shadow(0 4px 4px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(125,243,255,.10));
}
.bbtg-v2 .bbtg-managed-picker-emoji,
.bbtg-v2 .bbtg-managed-reaction,
.bbtg-v2 .bbtg-native-picker-emoji {
  filter: drop-shadow(0 5px 5px rgba(0,0,0,.35));
}
.bbtg-v2 .bbtg-emoji-grid button:has(.bbtg-native-picker-emoji),
.bbtg-v2 .bbtg-emoji-grid button:has(.bbtg-managed-picker-emoji) {
  background: radial-gradient(circle at 50% 18%, rgba(125,243,255,.10), transparent 58%), rgba(8,18,29,.88);
}
.bbtg-v2 .bbtg-emoji-grid button:hover .bbtg-native-picker-emoji,
.bbtg-v2 .bbtg-emoji-grid button:hover .bbtg-managed-picker-emoji {
  transform: translateY(-1px) scale(1.08);
}


/* v2.25 Long Screenshot Preview Guard | Web + APP
   Keeps member identity/medals readable and crops extreme portrait screenshots into a balanced preview.
   Full original opens inside a scrollable viewer. */
.bbtg-v2 .bbtg-message-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  align-items: center;
  column-gap: 6px;
}

.bbtg-v2 .bbtg-author-line {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.bbtg-v2 .bbtg-author-line > strong {
  min-width: 0;
  max-width: min(220px, 100%);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-author-line .bbtg-medals {
  flex: 0 0 auto;
  margin-left: 0;
}

.bbtg-v2 .bbtg-message-head > time {
  justify-self: end;
}

.bbtg-v2 .bbtg-media-grid.is-single {
  width: min(360px, 100%);
}

.bbtg-v2 .bbtg-media-grid.is-single .bbtg-media-link {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(2, 8, 14, 0.78);
}

.bbtg-v2 .bbtg-media-grid.is-single .bbtg-media-link.is-ultra-tall {
  width: min(320px, 100%);
  height: 238px;
  border: 1px solid rgba(103, 224, 244, 0.24);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
}

.bbtg-v2 .bbtg-media-grid.is-single .bbtg-media-link.is-ultra-tall .bbtg-media-img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: 50% 50%;
  border: 0;
  border-radius: 0;
}

.bbtg-v2 .bbtg-media-grid.is-single .bbtg-media-link.is-ultra-tall::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 54px;
  background: linear-gradient(180deg, transparent, rgba(2, 8, 14, .88));
  pointer-events: none;
}

.bbtg-v2 .bbtg-media-hint {
  display: none;
}

.bbtg-v2 .bbtg-media-link.is-ultra-tall .bbtg-media-hint {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 8px;
  z-index: 2;
  display: block;
  overflow: hidden;
  color: #dffbff;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}

.bbtg-v2 .bbtg-media-grid.is-multiple {
  width: min(326px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.bbtg-v2 .bbtg-media-grid.is-multiple .bbtg-media-link {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 9px;
}

.bbtg-v2 .bbtg-media-grid.is-multiple .bbtg-media-img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

.bbtg-v2 .bbtg-message.has-ultra-tall-media,
.bbtg-v2 .bbtg-message-row.has-ultra-tall-media .bbtg-message {
  min-width: min(342px, 78%);
}

.bbtg-v2 .bbtg-overlay.is-media-viewer {
  padding: 8px;
  background: rgba(0, 4, 8, .9);
  backdrop-filter: blur(8px);
}

.bbtg-v2 .bbtg-overlay-card.is-media-viewer {
  width: min(980px, calc(100vw - 16px));
  height: min(94dvh, 980px);
  max-height: calc(100dvh - 16px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  padding: 10px;
  border-color: rgba(101, 228, 245, .28);
  background: rgba(4, 11, 18, .98);
}

.bbtg-v2 .bbtg-media-viewer-head {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 2px 9px;
}

.bbtg-v2 .bbtg-media-viewer-head strong {
  min-width: 0;
  overflow: hidden;
  color: #f1fbff;
  font-size: 13px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bbtg-v2 .bbtg-media-viewer-head button {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  margin-left: auto;
  border: 1px solid rgba(126, 226, 245, .22);
  border-radius: 50%;
  background: rgba(16, 36, 51, .9);
  color: #e8fbff;
  cursor: pointer;
}

.bbtg-v2 .bbtg-media-viewer-scroll {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: #020509;
  scrollbar-width: thin;
  scrollbar-color: rgba(126, 226, 245, .4) transparent;
}

.bbtg-v2 .bbtg-media-viewer-scroll img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  border-radius: 4px;
}

.bbtg-v2 .bbtg-media-viewer-open {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(126, 226, 245, .28);
  border-radius: 8px;
  padding: 0 12px;
  background: rgba(15, 45, 62, .92);
  color: #dffbff;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
}

@media (max-width: 760px) {
  .bbtg-v2 .bbtg-message-head {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    row-gap: 3px;
  }

  .bbtg-v2 .bbtg-message-head .bbtg-edited,
  .bbtg-v2 .bbtg-message-head .bbtg-pinned {
    grid-column: 2;
  }

  .bbtg-v2 .bbtg-author-line {
    gap: 3px;
  }

  .bbtg-v2 .bbtg-author-line > strong {
    max-width: min(150px, 100%);
  }

  .bbtg-v2 .bbtg-media-grid.is-single .bbtg-media-link.is-ultra-tall {
    width: min(278px, 100%);
    height: 205px;
  }

  .bbtg-v2 .bbtg-message.has-ultra-tall-media,
  .bbtg-v2 .bbtg-message-row.has-ultra-tall-media .bbtg-message {
    min-width: min(298px, 87%);
  }

  .bbtg-v2 .bbtg-media-grid.is-multiple {
    width: min(286px, 100%);
  }

  .bbtg-v2 .bbtg-overlay-card.is-media-viewer {
    width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    padding: 7px;
    border-radius: 12px;
  }

  .bbtg-v2 .bbtg-media-viewer-scroll {
    padding: 4px;
  }
}


/* 88BB Chat Pin Reliability v2.4 */
.bbtg-v2 .bbtg-pinned-bar {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 8px 14px;
  border: 0;
  border-bottom: 1px solid rgba(100, 219, 238, 0.18);
  background: linear-gradient(90deg, rgba(10, 31, 47, 0.98), rgba(16, 35, 50, 0.94));
  color: #eafaff;
  text-align: left;
  cursor: pointer;
}
.bbtg-v2 .bbtg-pinned-bar[hidden] { display: none !important; }
.bbtg-v2 .bbtg-pinned-bar:hover,
.bbtg-v2 .bbtg-pinned-bar:focus-visible {
  outline: 0;
  background: linear-gradient(90deg, rgba(13, 40, 59, 0.99), rgba(19, 44, 61, 0.97));
}
.bbtg-v2 .bbtg-pinned-bar-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(100, 219, 238, 0.28);
  border-radius: 8px;
  background: rgba(70, 190, 220, 0.1);
  font-size: 14px;
}
.bbtg-v2 .bbtg-pinned-bar-copy { min-width: 0; display: grid; gap: 1px; }
.bbtg-v2 .bbtg-pinned-bar-copy strong { color: #7fe4f5; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.bbtg-v2 .bbtg-pinned-bar-copy small { overflow: hidden; color: rgba(235, 247, 252, .82); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
.bbtg-v2 .bbtg-pinned-bar > b { color: #63e89d; font-size: 10px; white-space: nowrap; }
.bbtg-v2 .bbtg-message-row.is-pinned .bbtg-message {
  border-color: rgba(100, 219, 238, .34);
  box-shadow: 0 0 0 1px rgba(100, 219, 238, .08), 0 12px 30px rgba(0, 0, 0, .22);
}
@media (max-width: 760px) {
  .bbtg-v2 .bbtg-pinned-bar { padding: 7px 10px; grid-template-columns: 26px minmax(0, 1fr) auto; }
  .bbtg-v2 .bbtg-pinned-bar-icon { width: 26px; height: 26px; }
  .bbtg-v2 .bbtg-pinned-bar-copy small { font-size: 10.5px; }
}
