/* =========================================================
   Revisly — page « Assistant »
   (se charge par-dessus dashboard.css, qui fournit l'ossature)
   ========================================================= */

.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.assistant{max-width:780px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px}

/* ---------- fil de conversation ---------- */
.fil{display:flex;flex-direction:column;gap:22px;min-height:220px}

/* ---------- accueil ---------- */
.bienvenue{
  background:var(--surface-card);border:.8px solid var(--surface-border);
  border-radius:16px;padding:24px 22px;
}
.bienvenue .sceau{
  width:42px;height:42px;border-radius:12px;margin-bottom:14px;
  background:var(--sky-tint);border:.8px solid var(--sky-border);
  display:flex;align-items:center;justify-content:center;
}
.bienvenue .sceau svg{width:20px;height:20px;color:var(--sky-soft)}
.bienvenue h2{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}
.bienvenue p{margin-top:6px;font-size:.875rem;line-height:1.6;color:var(--ink-secondary)}
.bienvenue .exemples{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.bienvenue .exemples button{
  text-align:left;padding:11px 14px;border-radius:11px;font-size:.875rem;
  background:var(--surface-soft);border:.8px solid var(--surface-border);color:var(--ink-primary);
  transition:background .15s,border-color .15s;
}
.bienvenue .exemples button:hover{background:var(--surface-soft-hover);border-color:var(--sky)}

/* ---------- messages ---------- */
.tour{display:flex;flex-direction:column;gap:12px}

.demande{
  align-self:flex-end;max-width:min(100%,560px);
  background:var(--sky);color:#fff;
  border-radius:16px 16px 4px 16px;padding:11px 15px;
  font-size:.9375rem;line-height:1.55;
}

.reponse{display:flex;gap:12px}
.reponse .pastille{
  flex:none;width:30px;height:30px;border-radius:9px;margin-top:2px;
  background:var(--sky-tint);border:.8px solid var(--sky-border);
  display:flex;align-items:center;justify-content:center;
}
.reponse .pastille svg{width:15px;height:15px;color:var(--sky-soft)}
.reponse .corps{flex:1;min-width:0}

.amorce{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-size:.75rem;color:var(--ink-tertiary);margin-bottom:7px;
}

/* pastille de confiance : l'utilisateur doit voir d'un coup d'oeil
   si la réponse est solide ou approximative */
.jauge{
  display:inline-flex;align-items:center;gap:5px;
  padding:1px 8px;border-radius:999px;font-size:.6875rem;font-weight:500;
  border:.8px solid transparent;
}
.jauge i{width:6px;height:6px;border-radius:999px;flex:none}
.jauge.haute{background:rgba(78,163,90,.14);border-color:rgba(78,163,90,.4);color:var(--ink-ok)}
.jauge.haute i{background:var(--moss)}
.jauge.moyenne{background:rgba(201,162,39,.14);border-color:rgba(201,162,39,.4);color:var(--ink-warn)}
.jauge.moyenne i{background:var(--daisy)}
.jauge.faible{background:rgba(207,86,71,.14);border-color:rgba(207,86,71,.4);color:var(--ink-ko)}
.jauge.faible i{background:#cf5647}

/* mode de réponse : citation littérale ou reformulation par le modèle */
.mode{
  display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;
  font-size:.6875rem;border:.8px solid var(--surface-border);color:var(--ink-tertiary);
}
.mode.reformule{border-color:var(--sky-border);color:var(--sky-soft);background:var(--sky-tint)}

.dit{
  font-size:1.0625rem;line-height:1.65;color:var(--ink-primary);
  border-left:2.5px solid var(--sky);padding-left:14px;
}
.dit mark{background:var(--daisy);color:#1c1c1c;padding:0 3px;border-radius:3px}

.deplier{
  margin-top:9px;font-size:.75rem;color:var(--ink-tertiary);
  text-decoration:underline;text-underline-offset:2px;
}
.deplier:hover{color:var(--ink-secondary)}
.entier{
  margin-top:10px;padding:12px 14px;border-radius:11px;font-size:.875rem;line-height:1.7;
  background:var(--surface-soft);border:.8px solid var(--surface-border);color:var(--ink-secondary);
}

/* ---------- sources ---------- */
.sources{margin-top:12px;display:flex;flex-direction:column;gap:7px}
.source{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;border-radius:11px;
  background:var(--surface-soft);border:.8px solid var(--surface-border);
  transition:border-color .15s,background .15s;
}
.source:hover{background:var(--surface-soft-hover);border-color:var(--sky)}
.source svg{width:15px;height:15px;flex:none;color:var(--ink-tertiary)}
.source .txt{flex:1;min-width:0}
.source .t{display:block;font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.source .s{display:block;font-size:.75rem;color:var(--ink-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.source .fleche{color:var(--ink-tertiary);font-size:.875rem}

.aussi{margin-top:14px}
.aussi .intitule{font-size:.75rem;color:var(--ink-tertiary);margin-bottom:7px}

/* ---------- avertissements ---------- */
.absents{
  margin-top:11px;font-size:.75rem;line-height:1.6;color:var(--ink-tertiary);
}
.absents b{color:var(--ink-warn);font-weight:500}

.vide-corpus{
  background:var(--surface-soft);border:.8px solid var(--surface-border);
  border-radius:12px;padding:14px 16px;font-size:.875rem;line-height:1.65;color:var(--ink-secondary);
}
.vide-corpus b{color:var(--ink-primary)}
.vide-corpus .mat{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}
.vide-corpus .mat span{
  padding:2px 9px;border-radius:999px;font-size:.75rem;
  background:var(--surface-card);border:.8px solid var(--surface-border);color:var(--ink-secondary);
}

/* ---------- attente ---------- */
.attente{display:flex;gap:5px;padding:6px 0}
.attente i{
  width:6px;height:6px;border-radius:999px;background:var(--ink-tertiary);
  animation:pulse 1.1s infinite ease-in-out;
}
.attente i:nth-child(2){animation-delay:.16s}
.attente i:nth-child(3){animation-delay:.32s}
@keyframes pulse{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ---------- saisie ---------- */
.saisie{
  position:sticky;bottom:0;display:flex;align-items:flex-end;gap:9px;
  padding:10px;border-radius:16px;
  background:var(--surface-card);border:.8px solid var(--surface-border);
}
.saisie:focus-within{border-color:var(--sky)}
.saisie textarea{
  flex:1;min-width:0;resize:none;max-height:160px;
  background:none;border:0;color:var(--ink-primary);
  font:inherit;font-size:.9375rem;line-height:1.55;padding:6px 4px;
}
.saisie textarea:focus{outline:none}
.saisie textarea::placeholder{color:var(--ink-tertiary)}
.envoyer{
  flex:none;width:36px;height:36px;border-radius:10px;
  background:var(--sky);color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .15s,filter .15s;
}
.envoyer svg{width:17px;height:17px}
.envoyer:hover{filter:brightness(1.08)}
.envoyer:disabled{opacity:.4;cursor:default;filter:none}

.mention{font-size:.75rem;color:var(--ink-tertiary);text-align:center}

@media (prefers-reduced-motion: reduce){
  .attente i{animation:none;opacity:.6}
}

@media (max-width:640px){
  .dit{font-size:1rem;padding-left:11px}
  .reponse{gap:9px}
  .reponse .pastille{display:none}
}

/* sur téléphone, la zone de saisie se pose au-dessus de la barre d'onglets */
@media (max-width:640px){
  .saisie{bottom:calc(68px + env(safe-area-inset-bottom))}
}
