/* ==========================================================================
   quiet.css — Batch 4 减法 (loaded LAST, after glass.css is unhooked)
   Make the chrome look like a research tool, not frosted glass.
   ========================================================================== */

:root {
  --r-sm: 6px;
  --r-md: 8px;
  --r-lg: 8px;
  --r-xl: 12px;
  --r-2xl: 16px;
  --r-card: 8px;
  --r-panel: 8px;
  --r-control: 8px;
  --lg-radius: 8px;
  --lg-radius-sm: 8px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-lg: none;
  --shadow-xl: none;
  --glass-filter: none;
  --lg-filter: none;
  --chrome-filter: none;
  --glass-plate-filter: none;
}

.app-layout,
.main-content,
.sidebar,
.top-bar,
.dash-card,
.mkt-card,
.th-pg .panel,
.chat-drawer,
.content-right,
.an-composer,
.an-ctx,
.an-root--desk .an-workspace,
.an-coverage,
#th-chat-panel {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
}

/* Top bar melts into page — no plate, no hairline */
.top-bar,
[data-theme="light"] .top-bar {
  background: var(--bg-base) !important;
  border-bottom: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Kill leftover sheen rings from any still-linked sheet */
.dash-card::after,
.dash-quick::after,
.dash-strip::after,
.mkt-card::after,
.mkt-chart-card::after,
.mkt-strip::after,
.th-masthead::after,
.th-chart-card::after,
.chat-input-wrap::after,
.chat-input-wrap::before,
#th-chat-panel::before,
#th-chat-panel::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

/* Home cards: opaque plate, sharp edge (glass used to paint these) */
.dash.dash--studio .dash-card,
.dash.dash--studio .dash-quick,
.dash.dash--studio .dash-strip,
.dash.dash--studio .dash-strip--merged,
.dash.dash--studio .dash-card--hero {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
}

/* ---------- Chat: transcript, not a chat app ---------- */
.chat-msg {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-bottom: 12px !important;
  padding-bottom: 0 !important;
  border: none !important;
}
.chat-msg + .chat-msg {
  border-top: none !important;
  padding-top: 0 !important;
}
.chat-msg .who,
.chat-msg.user .who,
.chat-msg.assistant .who {
  display: none !important;
}
.chat-msg.user {
  grid-template-columns: 1fr !important;
  justify-items: stretch !important;
}
.chat-msg.user .msg-col {
  grid-column: 1 !important;
  width: 100% !important;
  align-items: flex-end !important;
  justify-self: stretch !important;
}
.chat-msg.user .body {
  grid-column: 1 !important;
  background: color-mix(in srgb, var(--accent) 14%, var(--bg-elevated)) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent) !important;
  border-radius: 12px 12px 4px 12px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  min-width: 66.666% !important;
  max-width: 85% !important;
  width: fit-content !important;
  margin-left: auto !important;
  color: var(--text-primary) !important;
}
.chat-msg.assistant .body {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.chat-drawer,
.content-right,
#chat-drawer {
  background: var(--bg-base) !important;
}
.chat-panel-header,
.content-right > .chat-panel-header,
#chat-drawer > .chat-panel-header {
  background: var(--bg-base) !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  min-height: 44px !important;
}
.content-right > .chat-log,
#chat-drawer > .chat-log,
.chat-log {
  background: var(--bg-base) !important;
  border-top: none !important;
  box-shadow: none !important;
}
.chat-drag-grip {
  display: none !important;
}

.chat-input-row {
  background: var(--bg-base) !important;
  border-top: none !important;
  padding: 8px 10px !important;
}
.chat-input-wrap,
.content-right.is-empty-session .chat-input-wrap,
.content-right .chat-input-wrap,
.chat-drawer .chat-input-wrap {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}
.chat-textarea-container {
  overflow: visible !important;
}
.an-composer,
.th-chat-composer {
  overflow: visible !important;
}
#chat-slash,
#chat-mentions,
.composer-hint-pop {
  z-index: 32000 !important;
}
.content-right.is-empty-session .chat-input-row {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.chat-composer-end {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin-left: auto !important;
}
#chat-status.chat-status-bar,
.chat-composer-end > .chat-status-bar {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  color: color-mix(in srgb, var(--text-muted) 72%, transparent) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  max-width: 220px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: right !important;
  pointer-events: none !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
#chat-status.chat-status-bar .err,
.chat-composer-end > .chat-status-bar .err {
  color: var(--danger) !important;
}
.chat-empty-welcome,
.content-right.is-empty-session .chat-empty-welcome {
  background: var(--bg-base) !important;
}
.chat-empty-welcome,
.chat-empty-welcome .cew-title,
.chat-empty-welcome .cew-sub,
.chat-empty-welcome .cew-sub code {
  color: var(--text-primary) !important;
}
.chat-empty-welcome .cew-icon {
  color: var(--text-primary) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  animation: none !important;
}

.chat-fab,
.chat-toggle-fab,
#chat-fab {
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--bg-elevated) 8%, transparent) !important;
  color: var(--text-primary) !important;
  border: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent) !important;
  box-shadow: none !important;
  font-size: 0 !important;
  backdrop-filter: blur(6px) saturate(1.02) !important;
  -webkit-backdrop-filter: blur(6px) saturate(1.02) !important;
  transition:
    background 180ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 180ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.chat-toggle-fab:hover,
.chat-fab:hover,
#chat-fab:hover,
.chat-toggle-fab:focus-visible,
.chat-fab:focus-visible,
#chat-fab:focus-visible {
  background: color-mix(in srgb, #000 28%, transparent) !important;
  color: var(--text-primary) !important;
  border-color: color-mix(in srgb, var(--text-primary) 16%, transparent) !important;
  transform: translateY(-4px) scale(1.1) !important;
  box-shadow: 0 10px 22px -14px color-mix(in srgb, #000 55%, transparent) !important;
}
.chat-toggle-fab:active,
.chat-fab:active,
#chat-fab:active {
  transform: translateY(-1px) scale(0.97) !important;
  background: color-mix(in srgb, #000 36%, transparent) !important;
}
.chat-fab-ico,
#chat-fab .oc-ico {
  width: 20px !important;
  height: 20px !important;
  color: inherit !important;
  transform-origin: 55% 55% !important;
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.chat-toggle-fab:hover .chat-fab-ico,
.chat-fab:hover .chat-fab-ico,
#chat-fab:hover .chat-fab-ico,
.chat-toggle-fab:focus-visible .chat-fab-ico,
#chat-fab:focus-visible .chat-fab-ico {
  transform: translate(0.5px, -1.5px) rotate(-14deg) !important;
}
@media (prefers-reduced-motion: reduce) {
  .chat-toggle-fab:hover,
  .chat-fab:hover,
  #chat-fab:hover,
  .chat-toggle-fab:focus-visible,
  .chat-fab:focus-visible,
  #chat-fab:focus-visible,
  .chat-toggle-fab:active,
  .chat-fab:active,
  #chat-fab:active,
  .chat-toggle-fab:hover .chat-fab-ico,
  #chat-fab:hover .chat-fab-ico {
    transform: none !important;
  }
}

/* Analysts — same language as main chat + ticker copilot.
   Desk rules in analysts.css (2–3 classes, no !important) lose to these. */
.an-root--desk {
  gap: 0 !important;
  padding: 8px 16px 12px !important;
}
.an-ctx,
.an-root--desk .an-ctx,
html.page-analysts .an-ctx {
  background: var(--bg-base) !important;
  border: none !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 4px 0 8px !important;
  min-height: 44px !important;
}
.an-ctx__btn-ico { display: none !important; }
.an-ctx__btn-txt { display: inline !important; }
.an-ctx__avatar,
.an-root--desk .an-ctx__avatar {
  width: 28px !important;
  height: 28px !important;
  border-radius: 8px !important;
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  border: 1px solid transparent !important;
  font-size: 16px !important;
}
.an-ctx__who,
.an-root--desk .an-ctx__who {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: transparent !important;
  padding: 4px 10px 4px 4px !important;
}
.an-ctx__who:hover,
.an-ctx__who:focus-visible,
.an-root--desk .an-ctx__who:hover,
.an-root--desk .an-ctx__who:focus-visible {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  border-color: transparent !important;
  transform: none !important;
}
.an-ctx__book,
.an-root--desk .an-ctx__book {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 4px !important;
}
.an-ctx__menu {
  border-left: none !important;
  padding-left: 4px !important;
}

.an-root--desk .an-workspace,
.an-root--desk .an-workspace.is-sidebar-collapsed,
html.page-analysts .an-root--desk .an-workspace {
  background: var(--bg-base) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
.an-root--desk .an-sessions,
.an-root--desk .an-sessions-rail {
  background: var(--bg-base) !important;
  border: none !important;
  border-right: 1px solid var(--border-default) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.an-sessions__head,
.an-sessions__toolbar {
  border-bottom-color: var(--border-default) !important;
}
.an-sessions__row {
  min-height: 0 !important;
  height: 36px !important;
  align-items: center !important;
  padding: 0 8px !important;
  margin: 1px 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
}
.an-sessions__row-main {
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.an-sessions__row-title {
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.an-sessions__row-time { display: none !important; }
.an-sessions__row:hover { background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important; }
.an-sessions__row.is-active {
  background: color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
  border-left: none !important;
  padding-left: 8px !important;
}
.an-sessions__row-del {
  width: 22px !important;
  height: 22px !important;
  margin-top: 0 !important;
}

.an-root--desk .an-chat {
  background: var(--bg-base) !important;
}
.an-msg__avatar,
.an-active__avatar { display: none !important; }
.an-msg { gap: 0 !important; }
.an-msg__bubble,
.an-root--desk .an-msg--assistant .an-msg__bubble {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  box-shadow: none !important;
}
.an-msg--user {
  flex-direction: row !important;
  justify-content: flex-end !important;
}
.an-msg--user .an-msg__bubble,
.an-root--desk .an-msg--user .an-msg__bubble {
  background: color-mix(in srgb, var(--accent) 14%, var(--bg-elevated)) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent) !important;
  border-radius: 12px 12px 4px 12px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  min-width: 66.666% !important;
  max-width: 85% !important;
  width: fit-content !important;
  margin-left: auto !important;
  flex: 0 1 auto !important;
  color: var(--text-primary) !important;
  box-shadow: none !important;
}
.an-msg--thinking .an-msg__bubble {
  background: transparent !important;
  border: none !important;
}
.an-interim { margin-left: 0 !important; }
.an-thread,
.an-root--desk .an-thread {
  background: var(--bg-base) !important;
  border: none !important;
}
.an-empty__icon { display: none !important; }

.an-composer,
.an-root--desk .an-composer,
html.page-analysts .an-composer {
  background: var(--bg-base) !important;
  border: none !important;
  border-top: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 8px 12px max(12px, env(safe-area-inset-bottom, 0px)) !important;
}
.an-input,
.an-root--desk .an-input,
#an-input {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  padding: 8px 10px !important;
  height: auto !important;
  min-height: calc(1.5em * 2 + 16px) !important;
  font-size: 16px !important;
}
.an-input:focus,
#an-input:focus {
  border-color: var(--border-strong) !important;
  box-shadow: none !important;
  outline: none !important;
}
.an-composer__icon-btn {
  min-width: 0 !important;
  padding: 5px 10px !important;
}
.an-activity,
.an-root--desk .an-activity:not([hidden]) {
  background: var(--bg-base) !important;
  border: none !important;
  border-top: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.an-activity__dot { animation: none !important; }

.an-chip {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: var(--text-secondary) !important;
  padding: 5px 10px !important;
  box-shadow: none !important;
}
.an-chip:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  border-color: transparent !important;
  color: var(--text-primary) !important;
  transform: none !important;
}
.an-tier-select,
.an-root--desk .an-tier-select {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: var(--text-secondary) !important;
  padding: 4px 8px !important;
}
.an-tier-select:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  border-color: transparent !important;
  color: var(--text-primary) !important;
}

.an-root--desk.is-coverage-open .an-coverage:not([hidden]),
.an-coverage {
  border-radius: 8px !important;
  box-shadow: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .an-btn:hover,
  .an-chip:hover,
  .an-ctx__btn:hover {
    transform: none !important;
  }
}

/* Ticker copilot — same language as main chatbox */
#th-chat-panel,
.th-pg #th-chat-panel,
.th-pg .panel#th-chat-panel,
body > #th-chat-panel,
body > #th-chat-panel.is-maximized,
#th-chat-panel.is-minimized {
  background: var(--bg-base) !important;
  border: 2px solid color-mix(in srgb, var(--accent-ai, var(--accent)) 58%, var(--border-default)) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent-ai, var(--accent)) 14%, transparent),
    0 0 18px -10px color-mix(in srgb, var(--accent-ai, var(--accent)) 40%, transparent) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#th-chat-panel::before,
#th-chat-panel::after,
#th-chat-panel > h2::before,
#th-chat-panel > h2::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
#th-chat-panel > h2,
.th-pg #th-chat-panel > h2,
.th-pg .panel#th-chat-panel > h2,
body > #th-chat-panel > h2 {
  background: var(--bg-base) !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
  font-size: var(--fs-md) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  color: var(--text-primary) !important;
}
.th-copilot-title-text strong {
  font-weight: 600;
  color: var(--text-primary) !important;
}
.th-chat-meta {
  color: var(--text-muted) !important;
  padding: 0 12px 8px !important;
  font-size: 12px !important;
}
.th-chat-suggestions {
  padding: 0 12px 10px !important;
  gap: 8px !important;
}
.th-chat-suggest {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 999px !important;
  color: var(--text-primary) !important;
  padding: 6px 12px 6px 10px !important;
  min-height: 32px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  box-shadow: none !important;
  cursor: pointer !important;
}
.th-chat-suggest:hover {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
  border-color: var(--border-strong, var(--border-default)) !important;
  color: var(--text-primary) !important;
  transform: none !important;
}
.th-chat-suggest:active {
  transform: scale(0.98) !important;
}
.th-chat-suggest .oc-ico {
  width: 14px !important;
  height: 14px !important;
  color: var(--text-secondary) !important;
}
.th-chat-suggest:hover .oc-ico {
  color: var(--text-primary) !important;
}
.th-chat-log {
  background: var(--bg-base) !important;
  border: none !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  gap: 10px !important;
}
.th-chat-msg,
#th-chat-panel .th-chat-msg.assistant {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  align-self: stretch !important;
  box-shadow: none !important;
}
#th-chat-panel .th-chat-msg.user,
.th-chat-msg.user {
  background: color-mix(in srgb, var(--accent) 14%, var(--bg-elevated)) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent) !important;
  border-radius: 12px 12px 4px 12px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
  min-width: 66.666% !important;
  max-width: 85% !important;
  width: fit-content !important;
  margin-left: auto !important;
  align-self: flex-end !important;
  color: var(--text-primary) !important;
  box-shadow: none !important;
}
.th-chat-composer {
  background: var(--bg-base) !important;
  border-top: none !important;
  padding: 8px 12px 12px !important;
  box-shadow: none !important;
}
#th-chat-panel .th-chat-composer textarea,
#th-chat-input {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: var(--text-primary) !important;
}
#th-chat-panel .th-chat-composer textarea:focus,
#th-chat-input:focus {
  border-color: var(--border-strong) !important;
  box-shadow: none !important;
  outline: none !important;
}
.th-chat-activity,
#th-chat-activity {
  background: var(--bg-base) !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}

@media (max-width: 820px) {
  .th-pg,
  body.page-ticker .th-pg {
    padding-bottom: calc(12px + var(--command-tray-pad, 52px)) !important;
  }
  #th-chat-panel:not(.is-maximized):not(.is-minimized) {
    height: min(58dvh, 440px) !important;
    max-height: calc(100dvh - var(--topbar-height, 54px) - var(--command-tray-pad, 52px) - 24px) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #th-chat-panel:not(.is-maximized) .th-copilot-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #th-chat-panel:not(.is-maximized) .th-chat-log {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
  }
  #th-chat-panel:not(.is-maximized) .th-chat-composer {
    flex-shrink: 0 !important;
  }
  html.oc-kb-overlay #th-chat-panel.is-maximized,
  html.oc-kb-overlay body > #th-chat-panel.is-maximized {
    top: calc(var(--topbar-height, 54px) + var(--sat-fix, env(safe-area-inset-top, 0px))) !important;
    bottom: var(--oc-kb, 0px) !important;
    height: auto !important;
    max-height: none !important;
    z-index: 31000 !important;
  }
}

/* Shell menus stay hairline. Chatbox menus are restyled below (Grok). */
.oc-pop,
.user-menu,
.lang-pop-menu,
.oc-ss-popup,
.oc-cmdp__panel,
.persona-popover {
  background: var(--bg-elevated) !important;
  border: 1px solid var(--border-default) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ---------- Chatbox menus — x.ai / Grok: floating, padded, snappy ---------- */
.chat-pop,
.chat-sessions-pop,
.chat-model-pop,
.chat-tier-pop,
.chat-header-menu {
  --chat-menu-ease: cubic-bezier(0.16, 1, 0.3, 1);
  background: color-mix(in srgb, var(--bg-elevated) 82%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 50px -16px rgba(0, 0, 0, 0.55),
    0 0 0 1px color-mix(in srgb, var(--text-primary) 4%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
  padding: 6px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
[data-theme="light"] .chat-pop,
[data-theme="light"] .chat-sessions-pop,
[data-theme="light"] .chat-model-pop,
[data-theme="light"] .chat-tier-pop,
[data-theme="light"] .chat-header-menu {
  background: color-mix(in srgb, #ffffff 88%, transparent) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow:
    0 18px 50px -18px rgba(0, 0, 0, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}

.chat-model-pop,
.chat-tier-pop,
.chat-header-menu,
.chat-sessions-pop {
  transform: translateY(-8px) scale(0.96);
  transform-origin: top right;
  transition:
    opacity 220ms var(--chat-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    transform 220ms var(--chat-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    visibility 0s linear 220ms !important;
}
.chat-pop {
  transform: translateY(8px) scale(0.96);
  transform-origin: bottom center;
  transition:
    opacity 220ms var(--chat-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    transform 220ms var(--chat-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    visibility 0s linear 220ms !important;
}
.chat-model-pop.open,
.chat-tier-pop.open,
.chat-header-menu.open,
.chat-sessions-pop.open,
.chat-pop.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition:
    opacity 220ms var(--chat-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    transform 220ms var(--chat-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    visibility 0s linear 0s !important;
}

.chat-model-pop li.grp,
.chat-pop li,
.chat-sessions-pop li.empty {
  border: none !important;
  border-radius: 8px !important;
  margin: 0;
  padding: 4px 8px !important;
  background: transparent !important;
  height: auto !important;
}

.chat-sessions-pop li.sess {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 0 !important;
  height: 32px !important;
  padding: 0 8px !important;
  margin: 1px 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  white-space: nowrap !important;
}
.chat-sessions-pop .s-main {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.chat-sessions-pop .s-label {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  font-size: 13px !important;
}
.chat-sessions-pop .s-meta {
  flex: 0 0 auto !important;
  font-size: 10px !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
.chat-sessions-pop .s-rel { display: none !important; }
.chat-sessions-pop .s-rename,
.chat-sessions-pop .s-del {
  flex: 0 0 auto !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  opacity: 0.45 !important;
  align-self: center !important;
}

.chat-model-pop li.mdl {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 0 !important;
  height: 32px !important;
  padding: 0 10px !important;
  margin: 1px 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  white-space: nowrap !important;
}
.chat-model-pop li.mdl .m-label {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}
.chat-model-pop li.mdl .m-id {
  flex: 0 1 auto !important;
  max-width: 42% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  opacity: 0.55 !important;
}
.chat-header-menu .chat-menu-item {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 8px !important;
  row-gap: 2px !important;
  align-items: start !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 8px 10px !important;
  background: transparent !important;
}
.chat-more-pop .chat-menu-item {
  grid-template-columns: minmax(0, 1fr) !important;
}
.chat-menu-ico {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
}
.chat-menu-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  min-width: 0 !important;
  line-height: 1.3 !important;
}
.chat-menu-hint {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.35 !important;
  color: var(--text-muted) !important;
}
.chat-more-pop .chat-menu-label,
.chat-more-pop .chat-menu-hint {
  grid-column: 1 !important;
}
.chat-model-pop li.mdl-foot {
  display: block !important;
  position: relative !important;
  flex-direction: unset !important;
  white-space: normal !important;
  line-height: 1.45 !important;
  padding: 10px !important;
  margin-top: 6px !important;
  border-top: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent) !important;
  height: auto !important;
}
.chat-model-pop li.mdl:hover,
.chat-pop li:hover,
.chat-pop li.active,
.chat-sessions-pop li.sess:hover:not(.empty),
.chat-menu-item:hover {
  background: color-mix(in srgb, var(--text-primary) 7%, transparent) !important;
  color: var(--text-primary) !important;
}
.chat-model-pop li.mdl.active,
.chat-sessions-pop li.sess.active,
.chat-menu-item[aria-checked="true"],
.chat-menu-item.is-active {
  background: color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
}
.chat-model-pop li.mdl.active .m-label,
.chat-model-pop li.mdl.active {
  color: var(--text-primary) !important;
  border-left-color: transparent !important;
}
.chat-model-pop li.grp,
.chat-sessions-pop .sess-head,
.chat-sessions-pop li.sess-group,
.chat-menu-section {
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--text-muted) !important;
  background: transparent !important;
  border: none !important;
  padding: 8px 10px 4px !important;
}
.chat-sessions-pop .sess-chrome,
.chat-sessions-pop .sess-head,
.chat-sessions-pop .sess-toolbar,
.chat-sessions-pop .sess-foot,
.chat-model-pop li.mdl-foot {
  background: transparent !important;
  border-color: color-mix(in srgb, var(--text-primary) 8%, transparent) !important;
}
.chat-sessions-pop .sess-search {
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--bg-base) 70%, transparent) !important;
  border-color: color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
  box-shadow: none !important;
}
.chat-sessions-pop .sess-search:focus {
  border-color: color-mix(in srgb, var(--text-primary) 22%, transparent) !important;
  box-shadow: none !important;
}
.chat-sessions-pop .sess-head .sess-new {
  background: color-mix(in srgb, var(--text-primary) 8%, transparent) !important;
  color: var(--text-primary) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 4px 10px !important;
  filter: none !important;
}
.chat-sessions-pop .sess-new:hover { filter: none !important; background: color-mix(in srgb, var(--text-primary) 12%, transparent) !important; }
.chat-sessions-pop .sess-nav-btn {
  border-radius: 8px !important;
  border-color: transparent !important;
  background: color-mix(in srgb, var(--text-primary) 6%, transparent) !important;
}
.chat-sessions-pop .sess-nav-btn:hover:not(:disabled) {
  border-color: transparent !important;
  color: var(--text-primary) !important;
  background: color-mix(in srgb, var(--text-primary) 12%, transparent) !important;
}
.chat-sessions-pop .s-rename-input {
  box-shadow: none !important;
  border-radius: 8px !important;
}

@media (prefers-reduced-motion: reduce) {
  .chat-pop,
  .chat-sessions-pop,
  .chat-model-pop,
  .chat-tier-pop,
  .chat-header-menu {
    transition: opacity 80ms linear !important;
    transform: none !important;
  }
}

/* ==========================================================================
   Site-wide buttons — Grok ghost pills (chrome) + filled pills (primary)
   Last sheet: wins over page CSS that still uses 1px boxes / brightness.
   ========================================================================== */
:root {
  --btn-wash: color-mix(in srgb, var(--text-primary) 8%, transparent);
  --btn-wash-strong: color-mix(in srgb, var(--text-primary) 12%, transparent);
}

.btn,
.btn-primary,
.btn-secondary,
.btn-ghost,
.btn-danger,
.chat-panel-btn,
.chat-actions-toggle,
.chat-actions-close,
.chat-cancel-btn,
.chat-action-btn,
.chat-toolbar-btn,
.chat-fmt-toggle,
.mem-btn,
.mem-tool-btn,
.an-btn,
.im-btn-primary,
.im-btn-secondary,
.im-btn-danger,
.pf-btn,
.cal-btn,
.dd-btn,
.wl-row-btn,
.ask-oceanus-btn,
.dash-quick-btn,
.btn-allow,
.btn-deny,
.btn-trust,
.btn-mem-save,
.btn-mem-clear,
.btn-mem-cancel,
.th-chat-actions button,
.th-copilot-win-btn,
.sess-new,
.sess-more,
.sess-nav-btn,
.user-menu-toggle,
.pp-modal-x,
button.chat-action-btn {
  font-family: var(--font-sans) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition:
    background 160ms cubic-bezier(0.16, 1, 0.3, 1),
    color 160ms cubic-bezier(0.16, 1, 0.3, 1),
    border-color 160ms cubic-bezier(0.16, 1, 0.3, 1),
    transform 120ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.btn:active,
.btn-primary:active,
.btn-secondary:active,
.btn-ghost:active,
.btn-danger:active,
.chat-panel-btn:active,
.chat-action-btn:active,
.an-btn:active,
.im-btn-primary:active,
.pf-btn:active,
.cal-btn:active,
.dd-btn:active,
.mem-btn:active,
.dash-quick-btn:active {
  transform: scale(0.98) !important;
}

/* Ghost / chrome / dropdown / secondary */
.chat-panel-btn {
  padding: 5px 10px !important;
  font-size: var(--fs-xs) !important;
}

.btn,
.btn-secondary,
.btn-ghost,
.chat-panel-btn,
.chat-actions-toggle,
.chat-actions-close,
.chat-cancel-btn,
.chat-action-btn,
.chat-toolbar-btn,
.mem-tool-btn,
.an-btn,
.an-btn-ghost,
.im-btn-secondary,
.pf-btn,
.cal-btn,
.cal-btn-ghost,
.dd-btn,
.wl-row-btn,
.ask-oceanus-btn,
.mem-btn-ghost,
.btn-mem-cancel,
.th-copilot-win-btn,
.th-chat-actions .th-chat-save,
.user-menu-toggle {
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--text-secondary) !important;
}
.btn:hover,
.btn-secondary:hover,
.btn-ghost:hover,
.chat-panel-btn:hover,
.chat-panel-btn[aria-expanded="true"],
.chat-actions-toggle:hover,
.chat-actions-close:hover,
.chat-cancel-btn:hover,
.chat-action-btn:hover,
.chat-toolbar-btn:hover,
.mem-tool-btn:hover,
.an-btn:hover,
.an-btn-ghost:hover,
.im-btn-secondary:hover,
.pf-btn:hover,
.cal-btn:hover,
.dd-btn:hover,
.wl-row-btn:hover,
.ask-oceanus-btn:hover,
.mem-btn-ghost:hover,
.btn-mem-cancel:hover,
.th-copilot-win-btn:hover,
.th-chat-save:hover,
.user-menu-toggle:hover {
  background: var(--btn-wash) !important;
  border-color: transparent !important;
  color: var(--text-primary) !important;
}

/* Primary filled */
.btn-primary,
.im-btn-primary,
.pf-btn-primary,
.cal-btn-primary,
.dd-btn.primary,
.an-btn-primary,
.mem-btn-primary,
.btn-trust,
.btn-mem-save,
.th-chat-actions .th-chat-send,
#chat-send:not(:disabled) {
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: var(--text-inverse) !important;
  background-image: none !important;
}
.btn-primary:hover,
.im-btn-primary:hover,
.pf-btn-primary:hover,
.cal-btn-primary:hover,
.an-btn-primary:hover,
.mem-btn-primary:hover:not(:disabled),
.btn-trust:hover,
.btn-mem-save:hover,
.th-chat-send:hover:not(:disabled),
#chat-send:hover:not(:disabled) {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  color: var(--text-inverse) !important;
  filter: none !important;
}

/* Danger */
.btn-danger,
.im-btn-danger,
.pf-btn-danger,
.mem-btn-danger,
.btn-deny,
.wl-row-btn.danger {
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--danger) !important;
}
.btn-danger:hover,
.im-btn-danger:hover,
.pf-btn-danger:hover,
.mem-btn-danger:hover,
.btn-deny:hover,
.wl-row-btn.danger:hover {
  background: var(--danger-bg) !important;
  border-color: transparent !important;
  color: var(--danger) !important;
  filter: none !important;
}
.btn-allow {
  background: transparent !important;
  color: var(--success) !important;
  border: 1px solid transparent !important;
}
.btn-allow:hover {
  background: var(--success-bg) !important;
  filter: none !important;
}

/* Icon-only composer / header */
.chat-action-btn,
.chat-toolbar-btn,
.chat-actions-toggle,
.chat-actions-close {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  min-width: 32px !important;
}
.chat-action-btn:hover,
.chat-toolbar-btn:hover {
  background: var(--btn-wash) !important;
  border-color: transparent !important;
  color: var(--text-primary) !important;
}

/* Top-bar icon cluster — x.ai ghost circles (no box, no square) */
.sidebar-toggle,
.oc-cmdp-trigger,
.ask-oceanus-btn,
.font-scale-ctrl,
.font-scale-compact,
.theme-toggle-btn,
.tb-desk-btn,
.lang-pop-btn,
.feedback-btn-minimal,
.user-menu-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--text-secondary) !important;
}
/* iPhone hamburger: same ghost circle as the other top-bar icons.
   Do not force display — desktop keeps it hidden. */
.sidebar-mobile-trigger {
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--text-secondary) !important;
}
/* Tray open/close: keep default `display:none` on desktop. Mobile
   responsive.css turns them on; do not force inline-flex here. */
.top-bar-tools-toggle,
.top-bar-tools-close {
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--text-secondary) !important;
}
.sidebar-toggle:hover,
.oc-cmdp-trigger:hover,
.ask-oceanus-btn:hover,
.font-scale-ctrl:hover,
.font-scale-compact:hover,
.font-scale-compact:active,
.theme-toggle-btn:hover,
.tb-desk-btn:hover,
body.page-desk .tb-desk-btn,
.tb-desk-btn.active,
.lang-pop-btn:hover,
.lang-pop-btn[aria-expanded="true"],
.feedback-btn-minimal:hover,
.top-bar-tools-toggle:hover,
.top-bar.tools-open .top-bar-tools-toggle,
.top-bar-tools-close:hover,
.sidebar-mobile-trigger:hover,
.user-menu-toggle:hover {
  background: var(--btn-wash) !important;
  border: none !important;
  color: var(--text-primary) !important;
}
body.page-desk .tb-desk-btn,
.tb-desk-btn.active {
  color: var(--accent) !important;
}
.top-bar .oc-cmdp-trigger__icon {
  width: 18px !important;
  height: 18px !important;
}
.top-bar .ask-oceanus-btn__mark {
  width: 16px !important;
  height: 16px !important;
}
.top-bar .font-scale-compact .font-scale-a {
  font-size: 16px !important;
}
.top-bar .theme-toggle-btn {
  font-size: 17px !important;
}
.top-bar .feedback-btn-minimal .oc-ico {
  width: 18px !important;
  height: 18px !important;
}
.top-bar .lang-pop-flag {
  font-size: 16px !important;
}
.top-bar .tb-desk-btn__ico {
  width: 18px !important;
  height: 18px !important;
}
.top-bar-tools-toggle__icon,
.chat-actions-toggle__icon,
.sidebar-mobile-trigger .oc-ico {
  width: 18px !important;
  height: 18px !important;
  font-size: 0 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 0 !important;
  transform: none !important;
}

/* Mobile chat header — same x.ai ghost circles as the main top bar.
   responsive.css IDs (36px filled + accent) otherwise win on the sheet. */
@media (hover: none) and (pointer: coarse), (max-width: 820px) {
  #chat-actions-toggle,
  #chat-drawer .chat-actions-toggle,
  #chat-close,
  #chat-drawer .chat-panel-header > #chat-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--text-secondary) !important;
  }
  #chat-actions-close,
  #chat-panel-actions .chat-actions-close,
  #chat-panel-actions.is-open .chat-actions-close,
  body.chat-tools-open .chat-actions-close {
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--text-secondary) !important;
  }
  #chat-actions-toggle:hover,
  #chat-actions-toggle:focus-visible,
  body.chat-tools-open #chat-actions-toggle,
  #chat-panel-header.tools-open #chat-actions-toggle,
  #chat-close:hover,
  #chat-close:focus-visible,
  #chat-actions-close:hover,
  #chat-actions-close:focus-visible {
    background: var(--btn-wash) !important;
    border: none !important;
    color: var(--text-primary) !important;
  }
  #chat-panel-actions.is-open .chat-panel-btn,
  #chat-panel-actions.is-open .chat-tier-btn,
  #chat-panel-actions.is-open .chat-model-btn,
  body.chat-tools-open #chat-panel-actions .chat-panel-btn,
  body.chat-tools-open #chat-panel-actions .chat-tier-btn,
  body.chat-tools-open #chat-panel-actions .chat-model-btn,
  #chat-panel-actions.is-open .chat-more-pop .chat-menu-item,
  body.chat-tools-open #chat-panel-actions .chat-more-pop .chat-menu-item {
    background: transparent !important;
    border: none !important;
    color: var(--text-secondary) !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }
  #chat-panel-actions.is-open .chat-panel-btn:hover,
  #chat-panel-actions.is-open .chat-panel-btn[aria-expanded="true"],
  body.chat-tools-open #chat-panel-actions .chat-panel-btn:hover,
  body.chat-tools-open #chat-panel-actions .chat-panel-btn[aria-expanded="true"],
  #chat-panel-actions.is-open .chat-more-pop .chat-menu-item:hover,
  body.chat-tools-open #chat-panel-actions .chat-more-pop .chat-menu-item:hover {
    background: var(--btn-wash) !important;
    border: none !important;
    color: var(--text-primary) !important;
  }
}

/* List-like actions (home quick links): menu-row radius, not a tiny pill */
.dash-quick-btn {
  border-radius: 10px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  justify-content: flex-start !important;
}
.dash-quick-btn:hover,
.dash-quick-btn--ai:hover {
  background: var(--btn-wash) !important;
  border-color: transparent !important;
}
.dash-quick-btn--ai {
  background: transparent !important;
  border-color: transparent !important;
}
.dash-quick-mark {
  background: currentColor !important;
  background-image: none !important;
}

.chat-activity-bar,
.chat-activity-bar.active,
.th-chat-activity {
  background: var(--bg-base) !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Analysts picker — Grok floating menu on desktop; sheet stays a sheet on mobile */
.an-avatar-popover {
  --chat-menu-ease: cubic-bezier(0.16, 1, 0.3, 1);
  background: color-mix(in srgb, var(--bg-elevated) 82%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 50px -16px rgba(0, 0, 0, 0.55),
    0 0 0 1px color-mix(in srgb, var(--text-primary) 4%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
  padding: 6px !important;
}
[data-theme="light"] .an-avatar-popover {
  background: color-mix(in srgb, #ffffff 88%, transparent) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow:
    0 18px 50px -18px rgba(0, 0, 0, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}

@media (min-width: 881px) {
  .an-root--desk .an-persona-section,
  html.page-analysts .an-persona-section.oc-pop {
    --chat-menu-ease: cubic-bezier(0.16, 1, 0.3, 1);
    background: color-mix(in srgb, var(--bg-elevated) 82%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
    border-radius: 14px !important;
    box-shadow:
      0 18px 50px -16px rgba(0, 0, 0, 0.55),
      0 0 0 1px color-mix(in srgb, var(--text-primary) 4%, transparent) !important;
    backdrop-filter: blur(22px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
    padding: 6px !important;
  }
  [data-theme="light"] .an-root--desk .an-persona-section {
    background: color-mix(in srgb, #ffffff 88%, transparent) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow:
      0 18px 50px -18px rgba(0, 0, 0, 0.18),
      0 0 0 1px rgba(0, 0, 0, 0.04) !important;
  }
  .an-root--desk .an-persona-card,
  .an-root--desk .an-persona-add,
  .an-root--desk .an-persona-restore {
    min-height: 32px !important;
    height: auto !important;
    padding: 4px 10px !important;
    border: none !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .an-root--desk .an-persona-card__main {
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .an-root--desk .an-persona-card__tag { margin-top: 0 !important; }
  .an-root--desk .an-persona-card__avatar,
  .an-root--desk button.an-persona-card__avatar {
    width: 22px !important;
    height: 22px !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .an-root--desk .an-persona-card:hover,
  .an-root--desk .an-persona-add:hover,
  .an-root--desk .an-persona-restore:hover {
    background: color-mix(in srgb, var(--text-primary) 7%, transparent) !important;
    border-color: transparent !important;
    transform: none !important;
  }
  .an-root--desk .an-persona-card.is-active {
    background: color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }
}

@media (max-width: 880px) {
  /* Picker lives in a z-index:30 who-wrap; the dimmer is 1090. Without
     this the iPhone sheet sits under a gray overlay and cannot be tapped. */
  html.page-analysts .an-ctx__who-wrap {
    z-index: auto !important;
  }
  html.page-analysts .an-persona-section.is-mob-open,
  html.page-analysts .an-persona-section.is-open {
    z-index: 1220 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  html.page-analysts .an-drawer-backdrop {
    z-index: 1100 !important;
  }
  .an-composer__extra,
  .an-root--desk .an-composer__extra {
    background: color-mix(in srgb, var(--bg-elevated) 82%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
    border-radius: 14px !important;
    box-shadow:
      0 18px 50px -16px rgba(0, 0, 0, 0.55),
      0 0 0 1px color-mix(in srgb, var(--text-primary) 4%, transparent) !important;
    backdrop-filter: blur(22px) saturate(1.25) !important;
    -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
    padding: 6px !important;
  }
  .an-root--desk .an-workspace {
    border-radius: 8px !important;
  }
  .an-root--desk .an-persona-section {
    background: var(--bg-elevated) !important;
    border: 1px solid var(--border-default) !important;
    border-bottom: none !important;
    border-radius: 14px 14px 0 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Jump to a company — 2px AI edge, same family as copilot */
.sidebar-search input,
#sb-ticker-search,
.topbar-search input,
#tb-ticker-search {
  border: 2px solid color-mix(in srgb, var(--accent-ai, var(--accent)) 58%, var(--border-default)) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-ai, var(--accent)) 12%, transparent) !important;
}
.sidebar-search input:hover,
#sb-ticker-search:hover,
.topbar-search input:hover,
#tb-ticker-search:hover {
  border-color: color-mix(in srgb, var(--accent-ai, var(--accent)) 78%, var(--border-default)) !important;
}
.sidebar-search input:focus,
#sb-ticker-search:focus,
.topbar-search input:focus,
#tb-ticker-search:focus {
  border-color: var(--accent-ai, var(--accent)) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--accent-ai, var(--accent)) 22%, transparent),
    0 0 16px -8px color-mix(in srgb, var(--accent-ai, var(--accent)) 45%, transparent) !important;
  outline: none !important;
}

/* ---------- Charts (markets + company) — ghost chrome, Grok menus ---------- */
.ck-shell,
.mkt-chart-card,
.th-chart-card {
  background: var(--bg-base) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ck-topbar,
.th-chart-toolbar,
.mkt-chart-toolbar {
  background: var(--bg-base) !important;
  border-bottom: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.ck-left-rail {
  background: var(--bg-base) !important;
  border-right: 1px solid var(--border-default) !important;
}

.ck-dd__btn,
.ck-dd__btn--icon,
.ck-icon-btn,
.ck-chip,
#draw-clear,
#th-draw-clear,
.th-chart-toolbar .seg button,
.mkt-chart-toolbar .seg button,
.th-chart-toolbar .ind-menu > summary,
.mkt-chart-toolbar .ind-menu > summary {
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: var(--text-secondary) !important;
  box-shadow: none !important;
  font-weight: 500 !important;
}
.ck-dd__btn:hover,
.ck-icon-btn:hover,
.ck-chip:hover,
#draw-clear:hover,
#th-draw-clear:hover,
.th-chart-toolbar .seg button:hover,
.mkt-chart-toolbar .seg button:hover,
.th-chart-toolbar .ind-menu > summary:hover,
.mkt-chart-toolbar .ind-menu > summary:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  color: var(--text-primary) !important;
  border-color: transparent !important;
}
.ck-dd.is-open > .ck-dd__btn,
.ck-chip.active,
.th-chart-toolbar .seg button.active,
.mkt-chart-toolbar .seg button.active,
.th-chart-toolbar .ind-menu[open] > summary,
.mkt-chart-toolbar .ind-menu[open] > summary {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
  color: var(--text-primary) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.ck-dd.is-open > .ck-dd__btn .ck-ico,
.ck-chip.active {
  color: var(--text-primary) !important;
}

.ck-rail__btn {
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--text-secondary) !important;
  box-shadow: none !important;
}
.ck-rail__btn:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  color: var(--text-primary) !important;
}
.ck-rail__btn.active,
.ck-rail__btn.ck-toggle.active,
.ck-rail__group.is-open > .ck-rail__group-btn,
.ck-rail__group.has-active > .ck-rail__group-btn {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
  color: var(--text-primary) !important;
  box-shadow: none !important;
}
.ck-rail__btn.active .ck-ico,
.ck-rail__group.is-open > .ck-rail__group-btn .ck-ico,
.ck-rail__group.has-active > .ck-rail__group-btn .ck-ico {
  color: var(--text-primary) !important;
}

.ck-dd__menu,
.ck-rail__flyout,
.th-chart-toolbar .ind-list,
.mkt-chart-toolbar .ind-list,
.ck-cmp-results {
  --ck-menu-ease: cubic-bezier(0.16, 1, 0.3, 1);
  background: color-mix(in srgb, var(--bg-elevated) 82%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 50px -16px rgba(0, 0, 0, 0.55),
    0 0 0 1px color-mix(in srgb, var(--text-primary) 4%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
}
[data-theme="light"] .ck-dd__menu,
[data-theme="light"] .ck-rail__flyout,
[data-theme="light"] .th-chart-toolbar .ind-list,
[data-theme="light"] .mkt-chart-toolbar .ind-list,
[data-theme="light"] .ck-cmp-results {
  background: color-mix(in srgb, #ffffff 88%, transparent) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow:
    0 18px 50px -18px rgba(0, 0, 0, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}

.ck-dd__menu {
  transform: translateY(-22px) scale(0.88) !important;
  transform-origin: top right;
  transition:
    opacity 360ms var(--ck-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    transform 360ms var(--ck-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    visibility 0s linear 360ms !important;
}
.ck-dd__menu.ck-dd__menu--flip-y {
  transform: translateY(22px) scale(0.88) !important;
  transform-origin: bottom right;
}
.ck-dd.is-open > .ck-dd__menu,
.ck-dd.is-open > .ck-dd__menu.ck-dd__menu--flip-y,
.ck-dd.is-open > .ck-dd__menu.ck-dd__menu--flip-x {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
  transition:
    opacity 360ms var(--ck-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    transform 360ms var(--ck-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)),
    visibility 0s linear 0s !important;
}
.ck-dd.is-closing > .ck-dd__menu {
  opacity: 0 !important;
  transform: translateY(-18px) scale(0.9) !important;
  transition:
    opacity 280ms cubic-bezier(0.4, 0, 1, 1),
    transform 280ms cubic-bezier(0.4, 0, 1, 1),
    visibility 0s linear 280ms !important;
}
.ck-dd.is-closing > .ck-dd__menu.ck-dd__menu--flip-y {
  transform: translateY(18px) scale(0.9) !important;
}

.ck-dd__item,
.ck-ind-row,
.ck-radio {
  border-radius: 8px !important;
}
.ck-dd__item:hover,
.ck-dd__item.active,
.ck-ind-row:hover,
.ck-radio:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
}
.ck-dd__item.active {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
}

/* ---------- IM / messages — same Grok language as chat ---------- */
.im-root {
  background: var(--bg-base) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.im-pane,
.im-pane-header,
.im-thread-header,
.im-pane-thread {
  background: var(--bg-base) !important;
  border-color: var(--border-default) !important;
  box-shadow: none !important;
}
.im-pane { border-right: 1px solid var(--border-default) !important; }
.im-pane-header,
.im-thread-header {
  border-bottom: none !important;
  min-height: 44px !important;
}
.im-pane-header h3 {
  text-transform: none !important;
  letter-spacing: -0.01em !important;
  color: var(--text-secondary) !important;
  font-weight: 600 !important;
}

.im-iconbtn,
.im-back-btn,
.im-conv-more,
.im-attach-btn,
.im-emoji-btn,
.im-act {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--text-secondary) !important;
  box-shadow: none !important;
}
.im-iconbtn:hover,
.im-back-btn:hover,
.im-conv-more:hover,
.im-attach-btn:hover,
.im-emoji-btn:hover,
.im-act:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
  color: var(--text-primary) !important;
  border-color: transparent !important;
}
.im-iconbtn .oc-ico,
.im-back-btn .oc-ico,
.im-conv-more .oc-ico {
  width: 16px;
  height: 16px;
}

.im-search,
.im-thread-search,
.im-composer textarea,
.im-modal-card input[type="text"] {
  border-radius: 8px !important;
  border: 1px solid var(--border-default) !important;
  background: var(--bg-elevated) !important;
  box-shadow: none !important;
}
.im-search:focus,
.im-thread-search:focus,
.im-composer textarea:focus,
.im-modal-card input[type="text"]:focus {
  border-color: var(--border-strong) !important;
  box-shadow: none !important;
  outline: none !important;
}

.im-avatar {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
  color: var(--text-primary) !important;
}

.im-team-row:hover,
.im-roster-row:hover,
.im-conv-row:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
}
.im-conv-row.active,
.im-team-row.active {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
  border-left-color: transparent !important;
  color: var(--text-primary) !important;
}
.im-conv-row.has-unread,
.im-conv-row.is-pinned {
  background: var(--bg-base) !important;
}
.im-conv-row.has-unread.active,
.im-conv-row.is-pinned.active {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
}

.im-composer {
  border-top: none !important;
  background: var(--bg-base) !important;
  padding: 8px 10px !important;
}
.im-send {
  border-radius: 999px !important;
  min-height: 32px !important;
  padding: 6px 14px !important;
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: var(--text-inverse) !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
.im-send:hover:not(:disabled) {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}

.im-messages {
  --im-fade-bot: 24px;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--im-fade-bot)), transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--im-fade-bot)), transparent 100%);
}

.im-pane-thread.selecting .im-message.is-mine {
  grid-template-columns: 22px 1fr !important;
  justify-items: stretch !important;
}
.im-message.is-mine {
  grid-template-columns: 1fr !important;
  justify-items: end !important;
}
.im-message.is-mine .im-avatar,
.im-message.is-mine .im-msg-author { display: none !important; }
.im-message.is-mine .im-msg-check { justify-self: start; }
.im-message.is-mine .im-msg-body {
  min-width: 66.666% !important;
  max-width: 85% !important;
  background: color-mix(in srgb, var(--accent) 14%, var(--bg-elevated)) !important;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent) !important;
  border-radius: 12px 12px 4px 12px !important;
  padding: 8px 12px !important;
  box-sizing: border-box !important;
}
.im-message.is-mine .im-msg-text { color: var(--text-primary) !important; }
.im-message.is-mine .im-msg-actions { left: 8px; right: auto; }

.im-conv-menu,
.im-mention-pop,
.im-emoji-pop,
.im-rx-pop,
.im-search-panel,
.im-modal-card {
  --im-menu-ease: cubic-bezier(0.16, 1, 0.3, 1);
  background: color-mix(in srgb, var(--bg-elevated) 82%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 50px -16px rgba(0, 0, 0, 0.55),
    0 0 0 1px color-mix(in srgb, var(--text-primary) 4%, transparent) !important;
  backdrop-filter: blur(22px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
}
[data-theme="light"] .im-conv-menu,
[data-theme="light"] .im-mention-pop,
[data-theme="light"] .im-emoji-pop,
[data-theme="light"] .im-rx-pop,
[data-theme="light"] .im-search-panel,
[data-theme="light"] .im-modal-card {
  background: color-mix(in srgb, #ffffff 88%, transparent) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow:
    0 18px 50px -18px rgba(0, 0, 0, 0.18),
    0 0 0 1px rgba(0, 0, 0, 0.04) !important;
}
.im-conv-menu,
.im-mention-pop,
.im-emoji-pop,
.im-rx-pop,
.im-search-panel {
  transform: translateY(-18px) scale(0.9);
  transform-origin: top right;
  animation: im-pop-in 360ms var(--im-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)) both;
}
.im-mention-pop {
  transform-origin: bottom left;
  animation-name: im-pop-in-up;
}
.im-modal-card {
  animation: im-pop-in 360ms var(--im-menu-ease, cubic-bezier(0.16, 1, 0.3, 1)) both;
}
@keyframes im-pop-in {
  from { opacity: 0; transform: translateY(-18px) scale(0.9); }
  to   { opacity: 1; transform: none; }
}
@keyframes im-pop-in-up {
  from { opacity: 0; transform: translateY(18px) scale(0.9); }
  to   { opacity: 1; transform: none; }
}
.im-conv-menu button {
  border-radius: 8px !important;
  padding: 8px 10px !important;
}
.im-conv-menu button:hover {
  background: var(--btn-wash, color-mix(in srgb, var(--text-primary) 8%, transparent)) !important;
}

.im-mobile-tab {
  background: transparent !important;
  border-radius: 999px !important;
  color: var(--text-secondary) !important;
}
.im-mobile-tab.is-active {
  background: var(--btn-wash-strong, color-mix(in srgb, var(--text-primary) 12%, transparent)) !important;
  color: var(--text-primary) !important;
}

@media (max-width: 720px) {
  .im-send { min-height: 40px !important; }
  .im-iconbtn,
  .im-back-btn,
  .im-attach-btn,
  .im-emoji-btn {
    width: 40px !important;
    height: 40px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .im-conv-menu,
  .im-mention-pop,
  .im-emoji-pop,
  .im-rx-pop,
  .im-search-panel,
  .im-modal-card {
    animation: none !important;
    transform: none !important;
  }
}

/* Company plates: clip the opaque gray h2 bar to the 14px radius.
   Square header corners were painting past the curve (Key Metrics, etc.).
   Copilot stays unclipped so composer menus can escape. */
.th-pg .panel:not(#th-chat-panel) {
  overflow: hidden;
  isolation: isolate;
}
.th-pg .panel:not(#th-chat-panel) > h2 {
  border-top-left-radius: 13px;
  border-top-right-radius: 13px;
}

/* Watchlist tape fills the pane; the table wrap is the only scroller. */
body.page-watchlist .content-wrapper .content-left,
.content-wrapper .content-left:has(> .wl-root) {
  padding: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100% !important;
  max-width: 100% !important;
}
body.page-watchlist .wl-root,
.content-left:has(> .wl-root) > .wl-root {
  flex: 1 1 auto !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.wl-table-wrap {
  overflow: auto !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  isolation: isolate;
  border-radius: 14px;
  -webkit-overflow-scrolling: touch;
}
.wl-table thead th:first-child { border-top-left-radius: 13px; }
.wl-table thead th:last-child { border-top-right-radius: 13px; }

@media (max-width: 960px) {
  body.page-watchlist .wl-table-wrap,
  .content-left:has(> .wl-root) .wl-table-wrap {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 0 !important;
  }
  body.page-watchlist .wl-table,
  .content-left:has(> .wl-root) .wl-table {
    min-width: 0 !important;
    width: 100% !important;
  }
  body.page-watchlist .wl-header {
    border-radius: 0 !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.page-watchlist .wl-root,
  body.page-watchlist .wl-actions,
  body.page-watchlist .wl-lists-row {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.page-watchlist .wl-search,
  body.page-watchlist .wl-add-form input,
  body.page-watchlist #wl-ask-q,
  body.page-watchlist #wl-new-list-name {
    font-size: 16px !important;
    min-height: 44px !important;
  }
  body.page-watchlist .wl-table thead th:first-child,
  body.page-watchlist .wl-table thead th:last-child {
    border-radius: 0 !important;
  }
}

.mkt-card-head .head-actions { align-items: center; }
.mkt-card-head a.head-sub {
  text-decoration: none;
  color: var(--text-secondary);
  font-size: 11px;
  padding: 2px 6px;
}
.mkt-card-head a.head-sub:hover { color: var(--text-primary); }
