:root{--teal: #0f9690;--teal-d: #0b756f;--bg: #f7faf9;--card: #ffffff;--text: #16302e;--muted: #5b716e;--border: #e2ece9;--err: #b3261e}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}.app{max-width:760px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.header{padding:18px 20px 12px;border-bottom:1px solid var(--border);background:var(--card)}.brand{font-size:1.35rem;font-weight:700;color:var(--teal)}.tagline{font-size:.9rem;color:var(--muted);margin-top:2px}.chat{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px}.welcome{color:var(--muted);text-align:center;margin:24px 8px}.examples{display:flex;flex-direction:column;gap:8px;margin-top:16px}.example{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px 14px;text-align:left;cursor:pointer;color:var(--text);font-size:.92rem}.example:hover{border-color:var(--teal)}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{max-width:85%;padding:12px 14px;border-radius:14px;line-height:1.5;white-space:pre-wrap;font-size:.95rem}.msg.user .bubble{background:var(--teal);color:#fff;border-bottom-right-radius:4px}.msg.assistant .bubble{background:var(--card);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble.error{border-color:var(--err);color:var(--err)}.bubble.loading{color:var(--muted)}.sources{margin-top:10px;border-top:1px dashed var(--border);padding-top:8px}.sources summary{cursor:pointer;color:var(--teal);font-size:.82rem;font-weight:600}.source{font-size:.8rem;color:var(--muted);background:var(--bg);border-radius:8px;padding:8px;margin:8px 0 0}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--card)}.composer input{flex:1;border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:1rem;outline:none}.composer input:focus{border-color:var(--teal)}.composer button{background:var(--teal);color:#fff;border:none;border-radius:12px;padding:0 20px;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:default}.disclaimer{padding:10px 16px 16px;font-size:.78rem;color:var(--muted);text-align:center;background:var(--card)}
