:root{--bg:#faf8f5;--fg:#1f2933;--muted:#5f6b76;--accent:#b45309;--accent-fg:#fff;--border:#e3ddd3}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}h1{margin:0 0 .75rem;font-size:2.25rem}.lede{color:var(--muted);max-width:32rem;margin:0 0 2rem;font-size:1.125rem}.actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:600}.button.secondary{color:var(--accent);background:0 0}.footnote{color:var(--muted);max-width:32rem;margin:2.5rem 0 0;font-size:.875rem}a.button{text-decoration:none;display:inline-block}.button:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--muted)}.error{color:#b42318;margin:.5rem 0;font-size:.9375rem}.shell{max-width:640px;margin:0 auto;padding:1rem 16px 3rem}.banner-inline{text-align:center;color:var(--muted);margin:0 0 1rem;font-size:.8125rem}.card{border:1px solid var(--border);background:#fff;border-radius:.75rem;padding:1.25rem 16px}.h-md{margin:0 0 .75rem;font-size:1.375rem}.field{border:0;min-width:0;margin:0 0 1rem;padding:0}.field label,.field legend{margin-bottom:.375rem;padding:0;font-size:.9375rem;font-weight:600;display:block}.field input[type=text],.field input[type=email],.field input[type=tel],.field select{width:100%;font:inherit;border:1px solid var(--border);color:var(--fg);background:#fff;border-radius:.5rem;padding:.625rem .75rem;font-size:1rem}.check{align-items:flex-start;gap:.625rem;margin:1.25rem 0;display:flex}.check input{margin-top:.3rem}.radio-row{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.radio{align-items:center;gap:.375rem;font-weight:400;display:flex}.field .radio{margin:0;font-weight:400;display:flex}.chat{flex-direction:column;height:100dvh;display:flex}.banner{text-align:center;letter-spacing:.02em;color:var(--muted);border-bottom:1px solid var(--border);background:#f1ece3;flex:none;padding:.25rem 16px;font-size:.75rem}.chat-scroll{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.chat-col{max-width:640px;margin:0 auto;padding:0 16px}.ai-label{color:var(--muted);margin:.75rem 0 .5rem;font-size:.75rem}.log{flex-direction:column;gap:.625rem;padding-bottom:1rem;display:flex}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:1rem;max-width:85%;padding:.625rem .875rem}.bubble.assistant{border:1px solid var(--border);background:#fff;border-bottom-left-radius:.25rem;align-self:flex-start}.bubble.respondent{background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:.25rem;align-self:flex-end}.typing{align-items:center;gap:.25rem;padding:.875rem;display:flex}.typing span{background:var(--muted);opacity:.4;border-radius:50%;width:.4375rem;height:.4375rem;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.typing span{opacity:.6;animation:none}}.composer{border-top:1px solid var(--border);background:var(--bg);padding:.625rem 0 calc(.625rem + env(safe-area-inset-bottom));flex:none}.composer-row{align-items:flex-end;gap:.5rem;display:flex}.composer textarea{font:inherit;resize:none;border:1px solid var(--border);color:var(--fg);background:#fff;border-radius:.5rem;flex:1;padding:.5rem .75rem;font-size:1rem}.composer textarea:disabled{background:#f1ece3}.optin,.thanks{border:1px solid var(--border);background:#fff;border-radius:.75rem;margin:0 0 1rem;padding:1rem}.thanks p{margin:0}.actions-left{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.quick-replies{flex-wrap:wrap;gap:.5rem;margin:0 0 .5rem;display:flex}.ea-card{border:1px solid var(--accent);background:#fff;border-radius:.75rem;margin:1.5rem 0 1rem;padding:1rem}.ea-card p{margin:0 0 .75rem}.ea-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.ea-form{margin-top:.5rem}.ea-consent{margin:0 0 1rem}
