.sauti-card-body .sautilink-caption-entity,
.sauti-caption-text .sautilink-caption-entity,
#profile-bio .sautilink-caption-entity {
  color: var(--app-accent);
  text-decoration: none;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.sauti-card-body .sautilink-caption-hashtag,
.sauti-card-body .sautilink-caption-mention,
.sauti-caption-text .sautilink-caption-hashtag,
.sauti-caption-text .sautilink-caption-mention,
#profile-bio .sautilink-caption-hashtag,
#profile-bio .sautilink-caption-mention {
  font-weight: 680;
}

.sauti-card-body .sautilink-caption-entity:hover,
.sauti-caption-text .sautilink-caption-entity:hover,
#profile-bio .sautilink-caption-entity:hover {
  color: var(--app-accent-strong);
  text-decoration: underline;
  text-underline-offset: .16em;
}

.sauti-card-body .sautilink-caption-url,
.sauti-caption-text .sautilink-caption-url {
  font-weight: inherit;
}

.sauti-card-body .sautilink-caption-entity:focus-visible,
.sauti-caption-text .sautilink-caption-entity:focus-visible,
#profile-bio .sautilink-caption-entity:focus-visible {
  outline: 2px solid var(--app-accent);
  outline-offset: 2px;
  border-radius: 3px;
}

/* Theme coherence: legacy Room discussion and threaded-reply surfaces must
   follow the active app palette instead of carrying fixed dark colours. */
.circle-stream {
  background: var(--app-panel);
  color: var(--app-text);
}

.circle-stream-heading,
.circle-sauti-composer {
  background: var(--app-panel);
  color: var(--app-text);
}

.circle-stream-heading h3,
.circle-stream-locked h3 {
  color: var(--app-text);
}

.circle-stream-heading > span {
  border-color: var(--app-line-strong);
  background: var(--app-panel-soft);
  color: var(--app-muted);
}

.circle-sauti-composer textarea {
  border-color: var(--app-line-strong);
  background: var(--app-input);
  color: var(--app-text);
}

.circle-sauti-composer textarea::placeholder,
.circle-sauti-meta,
.circle-sauti-actions > span,
.circle-sauti-controls,
.circle-stream-locked > p:last-child {
  color: var(--app-muted);
}

.circle-sauti-meta b {
  color: var(--app-text);
}

.circle-sauti-controls > label {
  border-color: var(--app-line-strong);
  background: var(--app-panel-soft);
  color: var(--app-muted);
}

.circle-sauti-controls select {
  color: var(--app-text);
}

.circle-sauti-controls option {
  background: var(--app-panel);
  color: var(--app-text);
}

.conversation-surface {
  background: var(--app-bg);
  color: var(--app-text);
}

.conversation-toolbar,
.conversation-reply-form {
  background: var(--app-panel);
  color: var(--app-text);
}

.conversation-toolbar h2,
.conversation-reply-context strong,
.conversation-thread-heading h3 {
  color: var(--app-text);
}

.conversation-reply-context span,
.conversation-reply-meta,
.conversation-reply-actions > span,
.conversation-thread-heading > span {
  color: var(--app-muted);
}

.conversation-reply-form textarea {
  border-color: var(--app-line-strong);
  background: var(--app-input);
  color: var(--app-text);
}

.conversation-reply-form textarea::placeholder {
  color: var(--app-muted);
}

.conversation-reply-meta b {
  color: var(--app-text);
}

.thread-sauti {
  border-left-color: var(--app-line);
}

.thread-sauti::before {
  border-top-color: var(--app-line-strong);
}

.thread-sauti.thread-focused {
  background: var(--app-panel-soft);
  box-shadow: inset 3px 0 0 var(--app-accent);
}

.thread-continue {
  border-color: var(--app-line-strong);
  background: var(--app-panel-soft);
  color: var(--app-text);
}

.thread-continue:hover {
  background: var(--app-elevated);
  color: var(--app-text);
}
