:root{--bg:#ffffff;--ink:#111827;--muted:#6b7280;--brand:#0ea5e9;--accent:#22c55e;--warn:#f59e0b;--danger:#ef4444;--card:#f8fafc} body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7} .wrap{max-width:940px;margin:0 auto;padding:2rem 1.25rem} h1,h2,h3{line-height:1.25} h1{font-size:2rem;margin:0 0 1rem 0} h2{font-size:1.5rem;margin:2rem 0 0.75rem} h3{font-size:1.125rem;margin:1.25rem 0 0.5rem} p{margin:0.5rem 0} .lede{font-size:1.125rem;color:var(--muted)} .tag{display:inline-block;background:var(--card);border:1px solid #e5e7eb;color:#334155;padding:.15rem .5rem;border-radius:.5rem;margin-right:.35rem;font-size:.8rem} .callout{border-left:4px solid var(--brand);background:var(--card);padding:1rem;border-radius:.5rem} .callout.warn{border-left-color:var(--warn)} .callout.danger{border-left-color:var(--danger)} .grid{display:grid;gap:1rem} @media(min-width:768px){.grid.cols-2{grid-template-columns:1fr 1fr}} .small{font-size:.95rem;color:var(--muted)} .refs li{margin:.4rem 0} .toc{background:var(--card);border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem} .figure{background:var(--card);border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem} .kbd{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;background:#0f172a;color:#e2e8f0;padding:.05rem .35rem;border-radius:.25rem;font-size:.85em} a{color:#0ea5e9;text-decoration:underline} Les agents conversationnels relationnels (Character.ai, Replika, Nomi, Grok Companions…)…