/* El chat: un panel lateral sobre la página, con los tokens del sistema Bureau 2026
   que ya define index.html (--violeta, --turquesa, --bg, --gris, --text, --muted,
   --line, --soft, --font-t, --font-b). */
.chatbtn{font-family:var(--font-t);font-weight:800;font-size:12.5px;color:#fff;background:var(--violeta);border:1px solid var(--violeta);border-radius:999px;padding:.4rem .9rem;cursor:pointer;white-space:nowrap}
.chatbtn:hover,.chatbtn:focus-visible{background:var(--violeta2,#503587);outline:none}
.chat{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:40;display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line);box-shadow:-24px 0 60px -30px rgba(43,36,64,.45);padding-top:env(safe-area-inset-top,0px)}
.chat[hidden]{display:none}
.chat-h{display:flex;align-items:center;gap:.6rem;padding:.9rem 1rem .8rem 1.2rem;border-bottom:1px solid var(--line)}
.chat-h .t{margin-right:auto;line-height:1.1}
.chat-h .t b{display:block;font-family:var(--font-t);font-weight:800;font-size:15px;color:var(--gris)}
.chat-h .t span{font-size:12px;color:var(--muted)}
.chat-h button{font:inherit;font-size:12.5px;font-family:var(--font-t);font-weight:700;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:999px;padding:.3rem .7rem;cursor:pointer}
.chat-h button:hover{background:var(--soft);color:var(--gris)}
.chat-h button.x{width:2rem;height:2rem;padding:0;border-radius:50%;font-size:18px;line-height:1}
.chat-m{flex:1;overflow:auto;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.8rem;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){.chat-m{scroll-behavior:auto}}
.msg{max-width:92%;border-radius:16px;padding:.7rem .95rem;font-size:14.5px;line-height:1.5;color:var(--text)}
.msg.u{align-self:flex-end;background:color-mix(in srgb,var(--violeta) 12%,var(--bg));border-bottom-right-radius:6px;white-space:pre-wrap}
.msg.a{align-self:flex-start;background:var(--soft);border-bottom-left-radius:6px}
.msg.a.err{background:color-mix(in srgb,var(--naranja) 18%,var(--bg))}
.msg.a p{margin:0 0 .55rem}.msg.a p:last-child{margin-bottom:0}
.msg.a ul,.msg.a ol{margin:.2rem 0 .6rem;padding-left:1.2rem}.msg.a li{margin:.15rem 0}
.msg.a h4,.msg.a h5{font-family:var(--font-t);font-weight:800;color:var(--gris);margin:.6rem 0 .3rem;font-size:14px}
.msg.a code{font-size:.92em;background:color-mix(in srgb,var(--gris) 8%,var(--bg));padding:.05rem .3rem;border-radius:4px}
.msg.a b,.msg.a strong{color:var(--gris)}
.msg.a a{color:var(--violeta)}
.tools{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem}
.tools span{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-t);font-weight:700;font-size:11.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.15rem .6rem}
.tools span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--turquesa)}
.tools span.run::before{animation:latir 1s infinite}
.tools span.bad::before{background:var(--naranja)}
@keyframes latir{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.tools span.run::before{animation:none}}
.pensando{color:var(--muted);font-size:13px}
.sug{display:flex;flex-direction:column;gap:.5rem;margin:auto 0}
.sug p{margin:0 0 .3rem;font-size:13px;color:var(--muted)}
.sug button{text-align:left;font:inherit;font-size:13.5px;color:var(--gris);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;cursor:pointer}
.sug button:hover{border-color:var(--violeta);background:color-mix(in srgb,var(--violeta) 6%,var(--bg))}
.chat-f{display:flex;gap:.5rem;align-items:flex-end;padding:.8rem 1rem calc(.9rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line)}
.chat-f textarea{flex:1;resize:none;min-height:44px;max-height:160px;padding:.65rem .85rem;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--gris);font:inherit;font-size:14.5px;line-height:1.4}
.chat-f textarea:focus-visible{outline:2px solid var(--violeta);outline-offset:1px}
.chat-f button{height:44px;padding:0 1rem;border:0;border-radius:14px;background:var(--violeta);color:#fff;font-family:var(--font-t);font-weight:800;font-size:14px;cursor:pointer}
.chat-f button:disabled{opacity:.4;cursor:default}
.chat-f button.stop{background:var(--naranja)}
.chat-pie{padding:0 1.2rem .7rem;font-size:11.5px;color:var(--muted)}
@media (max-width:900px){.chat{width:100vw}}
