:root{--bg:#f6f4ef;--card:#fff;--ink:#1f2933;--muted:#6b7280;--brand:#2f6f5e;--brand-ink:#fff;--out:#e8f1ee;--in:#fff4d6;--line:#e3dfd5}@media (prefers-color-scheme:dark){:root{--bg:#14181a;--card:#1d2327;--ink:#e9edef;--muted:#9aa5ab;--brand:#5bb39a;--brand-ink:#0b1512;--out:#22332e;--in:#3a3320;--line:#2b3338}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:640px;margin:0 auto;padding:16px}h1{margin:8px 0 4px;font-size:1.4rem}p.muted,.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}label{margin:12px 0 6px;font-weight:600;display:block}input[type=email],textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:12px}button,.btn{background:var(--brand);color:var(--brand-ink);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:600}button.ghost{color:var(--brand);border:1px solid var(--line);background:0 0}button:disabled{opacity:.5;cursor:default}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat{flex-direction:column;gap:8px;min-height:55vh;max-height:60vh;padding:12px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:14px;max-width:88%;padding:10px 12px}.bubble.out{background:var(--out);align-self:flex-start}.bubble.in{background:var(--in);align-self:flex-end}.bubble.gone{color:var(--muted);font-style:italic}.chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.chip{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:500}.notice{background:var(--out);border-radius:10px;margin:12px 0;padding:10px 12px}.err{color:#7a1f1f;background:#fde8e8}header.top{justify-content:space-between;align-items:center;padding:8px 0;display:flex}footer{color:var(--muted);margin-top:16px;font-size:.8rem}a{color:var(--brand)}a.btn{color:var(--brand-ink);text-decoration:none;display:inline-block}
