/* The idea board and idea page: what Axis and halo.css don't cover. */

.idea-board caption {
  padding: var(--nax-space-2) var(--nax-space-4);
  background: var(--nax-ink-03);
  color: var(--nax-ink);
  font-weight: 600;
  text-align: left;
}

.idea-form,
.idea-page {
  gap: var(--nax-space-4);
  padding: var(--nax-space-4);
  overflow: auto;
}

.idea-attachments {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nax-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-wrap: anywhere;
}

.idea-attachments img {
  display: block;
  max-inline-size: min(100%, var(--nax-detail-pane-w));
  block-size: auto;
  border-radius: var(--nax-r);
}

.research-report {
  display: flex;
  flex-direction: column;
  gap: var(--nax-space-2);
}

.research-sources {
  margin: 0;
  padding-left: var(--nax-space-5);
  overflow-wrap: anywhere;
}

.idea-activity li { overflow-wrap: anywhere; }

.idea-activity time { margin-inline-start: var(--nax-space-2); }

/* Research while it's queued or running: a pulsing dot, as a reply pending
   in a session; a failed one reads red. */
.research-state {
  display: inline-flex;
  align-items: center;
  gap: var(--nax-space-2);
  margin: 0;
  color: var(--nax-accent);
  font-size: 13px;
  font-weight: 500;
}

.research-state:is([data-status="queued"], [data-status="running"])::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  animation: message-pulse 1.2s ease-in-out infinite;
}

.research-state[data-status="queued"] { color: var(--nax-ink-text-2); }

.research-state[data-status="failed"] { color: var(--nax-red-text); }

@media (prefers-reduced-motion: reduce) {
  .research-state::before { animation: none; }
}
