:root{--brand: #2f5bd3;--bg: #f4f6fb;--surface: #ffffff;--text: #1c2333;--muted: #6b7385;--yantra-bubble: #e8eefc;--owner-bubble: #d9f5df;--border: #d6dbe6;--error: #b42318;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #11151f;--surface: #1a2030;--text: #e6e9f0;--muted: #9aa3b5;--yantra-bubble: #24314f;--owner-bubble: #1f3d2a;--border: #2d3548;--error: #ff8a80}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button{font:inherit;border:none;border-radius:10px;padding:10px 16px;background:var(--brand);color:#fff;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:default}.login{max-width:360px;margin:0 auto;padding:15vh 16px 16px}.login h1{color:var(--brand);text-align:center}.login form{display:flex;flex-direction:column;gap:14px}.login label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}.login input{font:inherit;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.error{color:var(--error);margin:0}.chat{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;background:var(--surface)}.chat-header{padding:12px 16px;font-weight:700;border-bottom:1px solid var(--border);padding-top:max(12px,env(safe-area-inset-top))}.banner{margin:8px 12px 0;padding:10px 12px;border-radius:10px;background:var(--yantra-bubble);font-size:14px;display:flex;gap:8px;align-items:center;justify-content:space-between}.messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.bubble{max-width:85%;padding:9px 12px;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.bubble.yantra{background:var(--yantra-bubble);align-self:flex-start;border-bottom-left-radius:4px}.bubble.owner{background:var(--owner-bubble);align-self:flex-end;border-bottom-right-radius:4px}.bubble.ask,.bubble.ask_follow_up{font-weight:600}.bubble.incoming:first-line{font-weight:700}.composer{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);padding-bottom:max(10px,env(safe-area-inset-bottom))}.composer textarea{flex:1;font:inherit;resize:none;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);max-height:120px}
