/* ============================================================================
   Oceanus — AI-look / Pathway C Stage 3 shared AI surface language
   ----------------------------------------------------------------------------
   Shared Studio + AI utilities for Chat, Analysts, Scout (and markers on
   research notes). Landing-aligned accents via tokens.css Stage 0 vars.

   No full-page aurora. Respects prefers-reduced-motion.
   ========================================================================== */

/* ---------- Shared AI panel / header rhythm ---------- */
.oc-ai-surface .an-header,
.oc-ai-surface .scout-header,
.chat-drawer.oc-ai-surface .chat-panel-header {
  /* markers for pages that opt in via class on root */
}

/* Analysts header — Studio type + soft AI whisper */
.an-root {
  /* opt-in container */
}
.an-header__left h1 {
  letter-spacing: -0.02em;
  font-weight: var(--fw-semibold);
}
.an-subtitle {
  color: var(--text-muted);
  font-size: var(--fs-studio-sm, var(--fs-sm));
}
.an-header {
  border-bottom: 1px solid var(--border-soft, var(--border-default));
  padding-bottom: var(--sp-3);
  margin-bottom: var(--sp-3);
}

/* Soft AI rail on persona strip container when present */
.an-persona-section {
  border-radius: var(--r-panel, 10px);
}

/* Scout header matches Analysts rhythm */
.scout-header {
  border-bottom: 1px solid var(--border-soft, var(--border-default));
  padding-bottom: var(--sp-3);
  margin-bottom: var(--sp-3);
}
.scout-title {
  letter-spacing: -0.02em;
  font-weight: var(--fw-semibold);
}
.scout-sub {
  color: var(--text-muted);
  font-size: var(--fs-studio-sm, var(--fs-sm));
}
.scout-page .sc-card,
.scout-page .scout-card {
  border-radius: var(--r-card, 12px);
  border-color: var(--border-soft, var(--border-default));
}

/* Chat drawer header — restrained AI mark */
.chat-panel-header {
  border-bottom-color: var(--border-soft, var(--border-default)) !important;
}
.chat-panel-header .chat-title,
.chat-panel-header h2,
#chat-drawer .chat-panel-title {
  letter-spacing: -0.01em;
}

/* AI primary whisper on composer send when available */
#chat-send.btn-primary,
.chat-send-btn {
  /* keep existing primary; optional soft glow */
}

/* ---------- Animated typing cursor — Research Copilot (ticker) ---------- */
@keyframes oc-ai-cursor {
  0%, 60%   { opacity: 1; }
  61%, 100% { opacity: 0; }
}
.th-chat-msg.assistant.is-streaming::after {
  content: "";
  display: inline-block;
  width: 2px;
  height: 1em;
  margin-left: 2px;
  vertical-align: text-bottom;
  background: var(--gradient-ai, linear-gradient(180deg, #6c8cff, #b07cff));
  border-radius: 1px;
  animation: oc-ai-cursor 1.0s steps(1, end) infinite;
}

/* ---------- AI marker on research-note timeline (ai_summary) ---------- */
.thread-entry--ai_summary { position: relative; }
.thread-entry--ai_summary .thread-entry__dot {
  background: var(--gradient-ai, linear-gradient(135deg, #6c8cff, #b07cff)) !important;
  box-shadow: 0 0 8px -2px color-mix(in srgb, var(--accent-ai, #b07cff) 50%, transparent);
}
.thread-entry--ai_summary .thread-entry__kind {
  color: color-mix(in srgb, var(--accent-ai, #b07cff) 80%, var(--text-secondary)) !important;
}
.thread-entry--ai_summary .thread-entry__kind::before {
  content: "✨ ";
  margin-right: 1px;
}
.thread-entry--ai_summary .thread-entry__bubble {
  border-left: 2px solid transparent;
  border-image:
    linear-gradient(180deg, var(--accent-ai-2, #6c8cff) 0%, var(--accent-ai, #b07cff) 100%) 1;
  background:
    linear-gradient(90deg,
      color-mix(in srgb, var(--accent-ai-2, #6c8cff) 4%, transparent) 0%,
      transparent 25%);
}

/* Shared empty CTA for AI surfaces */
.oc-ai-empty {
  text-align: center;
  padding: var(--sp-6) var(--sp-4);
  color: var(--text-muted);
  font-size: var(--fs-studio-sm, var(--fs-sm));
  border-radius: var(--r-card, 12px);
  border: 1px dashed var(--border-soft-strong, var(--border-default));
  background: var(--bg-studio, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .th-chat-msg.assistant.is-streaming::after { animation: none; opacity: 1; }
}
