/* Shared chat colors apply consistently across account, roadmap and lab pages. */
.global-live .live-panel { --chat-bg: var(--surface); --chat-ink: var(--ink); --chat-line: var(--border); margin-bottom: 0; }

.global-live .live-shell { background: var(--surface); border-color: var(--border); }
.global-live .live-tabs { background: var(--surface-alt); }
.global-live .live-tabs button { color: var(--muted); }
.global-live .live-tabs button[aria-selected=true] { background: var(--accent); color: var(--accent-ink); }
.global-live #live :is(#recipient,#body,#inbox li) { background: var(--page); color: var(--ink); border-color: var(--border); }
.global-live #live #inbox li.chat-mine { background: var(--accent-soft); }
.global-live #live #inbox p { color: var(--ink); }
.global-live #live :is(.chat-author,#chat-context,#chat-empty,label,.live-heading span,.live-options span) { color: var(--muted); }
.global-live #send-message { background: var(--accent); color: var(--accent-ink); }
.global-live #live-status { color: var(--accent); }
.global-live .live-roster li { border-color: var(--border); font-size: 12px; }

/* Right-side chat stays anchored while the lesson scrolls. */
.global-live {
  position: fixed;
  z-index: 100;
  right: 18px;
  bottom: 34px;
  width: min(330px, calc(100vw - 36px));
  max-width: none;
  margin: 0;
  pointer-events: none;
}
.global-live > .live-panel { display: flex; flex-direction: column; align-items: stretch; }
.global-live .live-panel > summary {
  display: inline-flex;
  align-self: flex-end;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 10px 16px;
  pointer-events: auto;
  background: var(--accent);
  color: var(--accent-ink) !important;
  border-color: var(--accent);
  font-size: 17px;
  font-weight: 750;
  box-shadow: 0 8px 24px #13251d45;
}
.global-live .live-panel > summary:hover { filter: brightness(1.12); }
.live-launch-icon { width: 27px; height: 27px; flex: none; }
.live-launch-count {
  display: grid;
  place-items: center;
  min-width: 30px;
  min-height: 30px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.global-live .live-panel[open] > .live-shell {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  margin: 8px 0 0;
  height: min(70vh, 700px);
  height: min(70dvh, 700px);
  max-height: calc(100dvh - 116px);
  padding: 14px;
  overflow: auto;
  pointer-events: auto;
  box-shadow: var(--shadow);
}
.global-live .live-heading { gap: 4px; }
.global-live .live-heading strong { font-size: 16px; }
.global-live .live-heading span { flex-basis: 100%; }
.global-live .live-roster ul { max-height: 48px; overflow: auto; }
.global-live .live-tabs { margin: 6px 0; }
.global-live .live-tabs button { padding: 6px 4px; font-size: 13px; }
.global-live #chat-panel { flex: 1; display: flex; flex-direction: column; min-height: 185px; }
.global-live #chat-context { margin: 4px 0; }
.global-live #inbox { flex: 1; min-height: 60px; max-height: none; overscroll-behavior: contain; }
.global-live #chat-empty { padding: 4px 0; margin: 0; }
.global-live #message { margin: 8px 0; }
.global-live #body, .global-live #send-message { padding: 8px; font-size: 13px; }
.global-live #live-status:empty { display: none; }
@media (min-width: 1200px) {
  body:has(.global-live .live-panel[open]) { padding-right: 348px; }
}
@media (max-width: 600px) {
  .global-live { right: 12px; bottom: max(24px, env(safe-area-inset-bottom)); width: min(330px, calc(100vw - 24px)); }
}
