/* Чат. Цвета, шапка, кнопки и подвал — в base.css. */
body{background:var(--bg);}

/* ----------------------------------------------------------------- чат */
.chat{
  flex:1;width:100%;max-width:720px;margin:0 auto;
  padding:28px 20px 0;display:flex;flex-direction:column;
}
.thread{display:flex;flex-direction:column;gap:16px;padding-bottom:20px;}

.msg{max-width:88%;white-space:pre-line;}
.msg.bot{
  align-self:flex-start;background:var(--bg);
  border:1px solid var(--line);border-radius:var(--radius);
  border-bottom-left-radius:4px;padding:13px 17px;
}
.msg.you{
  align-self:flex-end;background:var(--panel);
  border-radius:var(--radius);border-bottom-right-radius:4px;
  padding:11px 16px;color:var(--ink-soft);
}
.msg.you.editable{cursor:pointer;}
.msg.you.editable:hover,.msg.you.editable:focus-visible{
  background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-strong);
}
.msg.you.editable::after{
  content:attr(data-edit);display:block;margin-top:4px;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
}
.msg.error{
  align-self:flex-start;background:#fdf3f2;border:1px solid #e6c9c5;
  border-radius:var(--radius);border-bottom-left-radius:4px;padding:13px 17px;
  color:#7a2e26;
}
.msg.note{
  align-self:stretch;max-width:100%;background:var(--warn-bg);
  border-left:2px solid var(--warn);border-radius:0 6px 6px 0;
  padding:14px 18px;font-size:15px;
}

.progress{
  display:flex;align-items:center;gap:10px;align-self:flex-start;margin:-6px 0 2px;
}
.progress-dots{display:flex;gap:5px;}
.progress i{display:block;width:18px;height:2px;background:var(--line);border-radius:2px;}
.progress i.on{background:var(--ink);}
.progress-label{font-size:12px;color:var(--muted);white-space:nowrap;}

/* ------------------------------------------------------------ композер */
.composer{
  position:sticky;bottom:0;background:var(--bg);
  padding:10px 0 max(18px, env(safe-area-inset-bottom));
  border-top:1px solid var(--line);margin-top:auto;
}
.current-question{display:none;}
.options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.chip{
  font:inherit;font-size:15px;cursor:pointer;
  background:var(--bg);color:var(--ink);
  border:1px solid var(--line);border-radius:999px;
  padding:9px 16px;transition:border-color .15s ease,background .15s ease;
}
.chip:hover{border-color:var(--ink);}
.chip:active,.send:active{transform:scale(.98);}
@media (prefers-reduced-motion: reduce){.chip:active,.send:active{transform:none;}}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--accent-ink);border-color:var(--ink);}
.chip.done{background:var(--ink);color:var(--accent-ink);border-color:var(--ink);font-weight:600;}
.chip.done[disabled]{opacity:.35;cursor:default;}
.chip kbd{
  display:none;font:inherit;font-size:11px;color:var(--muted);
  margin-left:8px;padding:0 5px;border:1px solid var(--line);border-radius:4px;
}
@media (min-width:900px) and (hover:hover){.chip kbd{display:inline-block;}}
.chip[aria-pressed="true"] kbd,.chip.done kbd{color:var(--accent-ink);border-color:rgba(255,255,255,.4);}

.input-row{display:flex;gap:8px;}
#input{
  flex:1;font:inherit;color:var(--ink);background:var(--bg);
  border:1px solid var(--line);border-radius:999px;padding:12px 18px;
}
.send{
  font:inherit;font-size:18px;line-height:1;cursor:pointer;
  flex:0 0 46px;min-width:46px;min-height:46px;
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:999px;background:var(--ink);color:var(--accent-ink);
}
.send:disabled{opacity:.3;cursor:default;}

/* ------------------------------------------------------------- резюме */
.result{align-self:stretch;max-width:100%;display:flex;flex-direction:column;gap:14px;}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.card h3{margin:0 0 10px;font-size:17px;font-weight:700;letter-spacing:-.01em;}
.card p{margin:0 0 10px;}
.card p:last-child{margin-bottom:0;}

.result-summary .for{color:var(--ink-soft);margin:0 0 12px;}
.result-summary .strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px;}
.result-summary .pic{
  width:56px;height:56px;border-radius:10px;background:var(--panel);
  border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;
  color:var(--muted);font-weight:300;font-size:20px;
}
.result-summary .pic img{width:100%;height:100%;object-fit:contain;display:block;}
.result-summary .facts{font-weight:700;margin:0 0 10px;font-variant-numeric:tabular-nums;}
.guide-inline{color:var(--ink-soft);font-size:15px;margin:0 0 14px;}
.guide-inline p{margin:0 0 8px;}
.small{font-size:13px;color:var(--muted);margin:10px 0 0;}

.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}

.sources{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.sources a{font-size:13px;color:var(--muted);}

/* ------------------------------------------------------------ телефон */
@media (max-width:600px){
  .msg{max-width:94%;}
  .chat{padding:20px 14px 0;}
  /* длинные варианты в столбик и с прокруткой: иначе панель ответов
     занимает три четверти экрана и накрывает сам вопрос */
  .options{
    flex-direction:column;align-items:stretch;
    max-height:42vh;overflow-y:auto;
    padding-right:2px;
  }
  .chip{text-align:left;}
  .chip.done{position:sticky;bottom:0;text-align:center;}
  /* вопрос закреплён над вариантами: не уезжает, пока листаешь список */
  .current-question{
    display:block;margin:2px 0 10px;font-weight:700;font-size:15px;line-height:1.35;
  }
  .current-question:empty{display:none;}
}
