/* TiTi Open-Model Kernel — theme + contrast fixes */
:root,
[data-theme="dark"],
.page-research {
  color-scheme: dark;
  --titi-bg: #0b1117;
  --titi-surface: #111a23;
  --titi-surface-2: #17212c;
  --titi-surface-hover: #1d2a36;
  --titi-text: #f4f7fb;
  --titi-text-secondary: #c7d2df;
  --titi-text-muted: #8ea0b5;
  --titi-border: #2a3848;
  --titi-accent: #36c28a;
  --titi-danger: #ff6b6b;
  --titi-warning: #f6b84b;
}

[data-theme="light"] {
  color-scheme: light;
  --titi-text: #0f1720;
  --titi-text-secondary: #334155;
  --titi-text-muted: #64748b;
  --titi-surface-2: #f8fafc;
  --titi-border: #e2e8f0;
}

.msg-bubble-assistant,
.msg-bubble-user,
.msg-bubble {
  color: var(--titi-text, inherit);
}

.msg-bubble-assistant {
  background: var(--titi-surface-2, var(--surface-2, #17212c));
  border: 1px solid var(--titi-border, #2a3848);
}

.msg-titi-meta {
  color: var(--titi-text-secondary) !important;
  font-size: 12px;
  margin-top: 8px;
  padding: 6px 10px;
  background: rgba(54, 194, 138, 0.08);
  border-radius: 8px;
  border: 1px solid rgba(54, 194, 138, 0.2);
}

.ai-mode-btn {
  min-width: 140px;
  max-width: 260px;
  color: var(--titi-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ai-mode-menu {
  min-width: 220px;
  max-height: 320px;
  overflow-y: auto;
  background: var(--titi-surface, #111a23);
  border: 1px solid var(--titi-border);
  color: var(--titi-text);
}

.composer-menu-section.titi-menu-simple .composer-menu-item {
  padding: 10px 12px;
}

.composer-menu-section.titi-menu-simple .composer-menu-badge {
  display: none;
}

.composer-menu-section-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--titi-text-muted);
  padding: 8px 12px 4px;
}

.composer-menu-item {
  color: var(--titi-text);
}

.composer-menu-item:disabled,
.composer-menu-item[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
}

.composer-menu-badge {
  font-size: 10px;
  margin-left: 6px;
}

.composer-menu-badge.ok {
  color: var(--titi-accent);
}

.composer-menu-name,
.activity-summary,
.atl-label {
  color: var(--titi-text) !important;
}

.composer-menu-desc,
.muted,
.activity-msg,
.atl-msg {
  color: var(--titi-text-muted) !important;
}

#prompt,
.composer-inner textarea {
  color: var(--titi-text);
  background: var(--titi-surface-2);
}

.gateway-internal-hidden,
#gatewayLiveTimeline {
  display: none !important;
}

.titi-upload-status {
  font-size: 12px;
  padding: 6px 10px;
  margin-top: 6px;
  border-radius: 8px;
  color: var(--titi-text-secondary);
  background: var(--titi-surface-hover);
}

.titi-upload-uploading,
.titi-upload-parsing {
  border-left: 3px solid var(--titi-warning);
}

.titi-upload-indexed {
  border-left: 3px solid var(--titi-accent);
}

.titi-upload-failed {
  border-left: 3px solid var(--titi-danger);
  color: var(--titi-danger);
}

.atl-timeline {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.atl-item {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  color: var(--titi-text);
}

.atl-running .atl-dot { color: var(--titi-warning); }
.atl-done .atl-dot { color: var(--titi-accent); }
.atl-error .atl-dot { color: var(--titi-danger); }

.composer-plus-menu {
  color: var(--titi-text);
  background: var(--titi-surface);
  border: 1px solid var(--titi-border);
}

@media (max-width: 768px) {
  .ai-mode-btn { max-width: 160px; font-size: 12px; }
  .ai-mode-menu { min-width: 92vw; max-width: 92vw; }
}
