:root{--fg:#1a1a1a;--muted:#4a4a4a;--bg:#fbfaf7;--card:#fff;--accent:#0b5cad;--line:#c9c6bd}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:40rem;margin:0 auto;padding:1.25rem 1rem}
h1{font-size:1.6rem;line-height:1.25;margin:.75rem 0}
h2{font-size:1.1rem}
.lede{font-size:1.1rem}
.note{color:var(--muted);font-size:.9rem}
.pill{display:inline-block;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.2rem .7rem;font-size:.85rem;color:var(--muted)}
a{color:var(--accent)}
:focus-visible{outline:3px solid #b45309;outline-offset:2px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:.5rem;padding:.8rem 1.2rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;min-height:44px}
.btn.small{padding:.5rem 1rem;min-height:40px}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn[disabled],textarea[disabled]{opacity:.6;cursor:not-allowed}
.foot{border-top:1px solid var(--line);margin-top:1rem}
.draft{background:#fff3cd;border:1px solid #8a6d00;padding:.5rem;border-radius:.4rem}
body.chat{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.bar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--line)}
.transcript{flex:1;overflow-y:auto;padding:1rem;max-width:40rem;width:100%;margin:0 auto}
.msg{scroll-margin-top:1rem;scroll-margin-bottom:12rem;margin:.6rem 0;padding:.6rem .8rem;border-radius:.6rem;white-space:pre-wrap;overflow-wrap:anywhere;max-width:92%}
.msg.bot{background:var(--card);border:1px solid var(--line)}
.msg.me{background:#e3eefa;margin-left:auto}
.card{margin:.6rem 0;padding:.7rem .9rem;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:.4rem;background:var(--card)}
.card h3{margin:0 0 .3rem;font-size:1rem}
.card ul,.card ol{margin:.2rem 0;padding-left:1.2rem}
.card .label{font-weight:600}
.host{color:var(--muted);font-size:.85em;unicode-bidi:isolate}
.disclosure{font-weight:600}
.status{margin:0;padding:0 1rem;color:#8a1c1c;min-height:1.2rem;max-width:40rem;width:100%;margin-inline:auto}
.composer{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:.5rem 1rem 1rem;max-width:40rem;width:100%;margin:0 auto}
.composer label{display:block;font-weight:600;margin-bottom:.2rem}
.composer textarea{width:100%;font:inherit;padding:.6rem;border:1px solid #6b6b6b;border-radius:.5rem;resize:vertical}
.row{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem}
.notices{padding:.4rem 1rem;max-width:40rem;width:100%;margin:0 auto}
.notices .note{margin:.2rem 0;font-size:.85rem;color:var(--muted)}
.starters{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1rem .5rem;max-width:40rem;width:100%;margin:0 auto}
.chip{border:1px solid var(--accent);background:var(--card);color:var(--accent);border-radius:999px;padding:.5rem .9rem;font:inherit;min-height:44px;cursor:pointer}
.msg.pending .dots{display:inline-block;width:1.6em;height:.9em;background:radial-gradient(circle,var(--muted) 35%,transparent 40%) 0 50%/.55em .9em repeat-x;animation:pending-pulse 1.2s ease-in-out infinite}
@keyframes pending-pulse{0%,100%{opacity:.35}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.msg.pending .dots{animation:none}}
.msg ul{margin:.3rem 0;padding-left:1.2rem}
[hidden]{display:none!important}
.send-field{margin:.5rem 0}
.send-field label,.send-channel{display:block;font-weight:600;margin-bottom:.2rem}
.send-field input[type=text],.send-field input[type=tel],.send-field input[type=email]{width:100%;font:inherit;padding:.5rem;border:1px solid #6b6b6b;border-radius:.4rem}
.send-channels{border:0;margin:0;padding:0}
.send-age-field{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.send-age-field label{display:inline;margin:0}
.send-error{color:#8a1c1c;margin:.2rem 0;flex-basis:100%}
.send-channel{display:block;color:var(--muted);font-size:.9rem;margin:.4rem 0}
input[aria-invalid=true]{border-color:#8a1c1c}
