:root{--paper:#f6f5f0;--card:#ffffff;--ink:#152820;--muted:#5c6b62;--line:#e4e2d9;--loss:#b4452c;--accent:#0e7a66;--accent-soft:#e3f1ed}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Avenir Next,Segoe UI,system-ui,sans-serif;min-height:100vh}a{color:var(--accent);text-decoration:none}.frame{max-width:560px;margin:0 auto;padding:24px 14px 40px;display:flex;flex-direction:column;gap:14px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}h1{font-size:22px;font-weight:800;margin-top:2px}.sub{font-size:13px;color:var(--muted);line-height:1.5}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;display:block}.card h2{font-size:16px;font-weight:800}.card p{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5}.badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:100px;padding:3px 9px;margin-bottom:8px}.note{font-size:11.5px;color:var(--muted)}.note,.warn{line-height:1.5}.warn{background:#fdf6e7;border:1px solid #ecd9a8;border-radius:10px;padding:10px 12px;font-size:12px;color:#7a5b17}button.primary{padding:11px 18px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;font-size:14px;cursor:pointer}button.primary:disabled{opacity:.5}input.field{flex:1 1;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--card);width:100%}.row{gap:8px}#chat,.row{display:flex}#chat{background:var(--card);border:1px solid var(--line);padding:14px;flex-direction:column;gap:10px;min-height:380px;max-height:60vh;overflow-y:auto}#chat,.msg{border-radius:12px}.msg{max-width:85%;padding:10px 13px;font-size:14px;line-height:1.5;white-space:pre-wrap}.msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:3px}.msg.bot{align-self:flex-start;background:var(--accent-soft);border-bottom-left-radius:3px}.msg.err{align-self:center;background:#f7e9e4;color:var(--loss);font-size:12.5px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips button{font-size:12px;padding:6px 10px;border:1px solid var(--line);background:var(--card);border-radius:100px;cursor:pointer;color:var(--ink)}footer{font-size:11px;color:var(--muted);text-align:center;line-height:1.5;margin-top:4px}