/* Moment · тёмная тема с фиолетовым акцентом.
   Токены и правила взяты из концепта moment-purple-concept.html (01/2026).
   Файл подключается последним и перекрывает цвета из workspace.css.
   Правки визуала удобнее делать здесь, не трогая остальную вёрстку. */

:root {
  --m-bg: #0F1117;
  --m-card: #171A23;
  --m-raised: #1B1F2A;
  --m-deep: #12141B;
  --m-text: #E8EAF0;
  --m-muted: #9AA2B4;
  --m-dim: #6F7688;
  --m-line: #262B38;
  --m-line-soft: #1F2430;
  --m-accent: #6C5CE7;
  --m-accent-soft: #8B7CF6;
  --m-accent-deep: #241F3D;
  --m-accent-line: #3A2F66;
  --m-accent-text: #C7BFFB;
  --m-success: #22C55E;
  --m-error: #EF4444;
  --m-warn: #F59E0B;

  /* Прежнее имя акцента: используется в старых правилах и в разметке. */
  --green: var(--m-accent);

  color: var(--m-text);
  background: var(--m-bg);
}

body {
  background: var(--m-bg);
  color: var(--m-text);
}

.shell {
  background: var(--m-bg);
}

/* ── Кнопки ────────────────────────────────────────────────────────────── */
.primary,
.onboarding-start,
.voice-actions .primary,
.pay-block .primary,
.subscribe-actions .primary {
  background: var(--m-accent);
  color: #fff;
  border: 0;
}
.primary:active,
.onboarding-start:active { background: var(--m-accent-soft); }
.primary:disabled { background: var(--m-raised); color: var(--m-dim); }

.secondary,
.onboarding-form .secondary,
.voice-actions .secondary,
.pay-block .secondary,
.subscribe-actions .secondary {
  background: var(--m-raised);
  color: var(--m-text);
  border: 1px solid var(--m-line);
}
.secondary:active { background: #222736; }

.text { color: var(--m-muted); }
.danger, .voice-actions .danger { color: #F0A08C; }
.send { background: var(--m-accent); color: #fff; }
.send:disabled { background: var(--m-raised); color: var(--m-dim); }
.icon { background: var(--m-raised); border-color: var(--m-line); color: var(--m-text); }
.dictate { color: var(--m-muted); }
.dictate[aria-pressed='true'] { color: var(--m-accent-soft); }
.speak { color: var(--m-accent-text); }
.speak[aria-pressed='true'] { color: var(--m-accent-soft); }
.add { background: var(--m-accent); color: #fff; }

/* ── Поля ввода ────────────────────────────────────────────────────────── */
textarea,
input,
select,
.composer,
.onboarding-form textarea,
.pay-label input {
  background: var(--m-raised);
  color: var(--m-text);
  border-color: var(--m-line);
}
.composer { background: var(--m-card); border: 1px solid var(--m-line); }
.composer textarea { background: transparent; }
::placeholder { color: var(--m-dim); }

/* ── Онбординг ─────────────────────────────────────────────────────────── */
.onboarding h1 { color: var(--m-text); }
.onboarding h1 span { color: var(--m-accent-soft); }
.onboarding-mic {
  background: var(--m-accent-deep);
  border: 1px solid var(--m-accent-line);
  color: var(--m-accent-text);
}
.onboarding-mic[disabled] { background: var(--m-raised); border-color: var(--m-line); color: var(--m-dim); }
.onboarding-facts {
  background: var(--m-card);
  border: 1px solid var(--m-line);
}
.onboarding-facts span { color: var(--m-muted); }
.eyebrow { color: var(--m-muted); }

/* ── Карточки, списки, панели ──────────────────────────────────────────── */
.thread,
.team-card,
.agent-row,
.snapshot,
.plan-note,
.note,
.run-readiness,
.settings-overview,
.pay-plan,
.voice-facts,
.subscribe-block {
  background: var(--m-card);
  border-color: var(--m-line);
}
.thread:hover, .agent-row:hover { background: var(--m-raised); }
.message { background: var(--m-card); color: var(--m-text); }
.message.assistant { background: transparent; border: 1px solid var(--m-line); }
.message .meta, .message .status { color: var(--m-muted); }
.badge { color: var(--m-muted); border-color: var(--m-line); background: var(--m-raised); }
.connection-bar { color: var(--m-muted); border-color: var(--m-line-soft); }
footer, .muted, .support, .local-note, .pay-hint, .draft-caption { color: var(--m-muted); }
.error { color: #F0A08C; }
.section-line h2, h1, h2, h3 { color: var(--m-text); }

/* ── Голосовое окно ────────────────────────────────────────────────────── */
.voice-sheet {
  background: var(--m-card);
  border: 1px solid var(--m-line);
  color: var(--m-text);
}
.voice-place {
  background: var(--m-accent-deep);
  border-color: var(--m-accent-line);
  color: var(--m-accent-text);
}
.voice-text { color: var(--m-text); }
.voice-hint, .voice-note, .voice-facts-line { color: var(--m-muted); }
.voice-error { color: #F0A08C; }
.voice-facts-line {
  background: var(--m-raised);
  border: 1px solid var(--m-line);
  border-radius: 12px;
  padding: 9px 12px;
}
.voice-progress, .voice-level { background: var(--m-line); }
.voice-progress-fill, .voice-level-fill { background: var(--m-accent); }
.voice-dialog::backdrop { background: rgba(5, 6, 10, .72); }

/* ── Подписка и оплата ─────────────────────────────────────────────────── */
.subscribe-block {
  background: linear-gradient(120deg, var(--m-accent-deep), #1B1730);
  border: 1px solid var(--m-accent-line);
}
.subscribe-block strong { color: var(--m-text); }
.subscribe-block p { color: var(--m-accent-text); }
.subscribe-hint { color: var(--m-muted); }
.pay-status.ok strong { color: var(--m-success); }
.pay-status.bad strong { color: var(--m-error); }
.pay-plan {
  background: linear-gradient(120deg, var(--m-card), var(--m-raised));
}
.pay-plan-title { color: var(--m-muted); }

/* ── Навигация и служебное ─────────────────────────────────────────────── */
.bottom-navigation { background: var(--m-card); border-color: var(--m-line); }
.build-id { color: var(--m-dim); }
#connection { color: var(--m-muted); }
.intro-fill { background: var(--m-accent); }
.intro-mark { color: var(--m-accent-soft); }
#intro { background: var(--m-bg); }

:focus-visible { outline: 3px solid var(--m-accent-soft); outline-offset: 3px; }

/* Раскрытие, что отвечает ИИ: требование к интерфейсу, а не только к документам сайта. */
.ai-disclosure {
  margin: 8px 0 10px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--m-muted);
}
.ai-disclosure a { color: var(--m-accent-soft); }
.empty .ai-disclosure { margin-top: 14px; }

/* Стенд приёмки на iPhone: переключатель моделей распознавания. */
.choices { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; }
.choice {
  flex: 1 1 45%; text-align: left; padding: 10px 12px;
  border: 1px solid var(--m-line); border-radius: 14px;
  background: var(--m-raised); color: var(--m-text);
}
.choice.current { border-color: var(--m-accent); background: var(--m-accent-deep); }
.choice b { display: block; font-size: 14px; font-weight: 600; }
.choice span { display: block; font-size: 12px; color: var(--m-muted); margin-top: 3px; }
.hint { color: var(--m-muted); font-size: 13px; margin: 4px 0 0; }
