*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1f2937;background:#fff}.app{display:flex;flex-direction:column;height:100%}.header{display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:600;border-bottom:1px solid #eee;background:#fff}.header .dot{width:9px;height:9px;border-radius:50%;background:#52c41a}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:#fafafa}.msg{display:flex;max-width:85%}.msg.user{align-self:flex-end}.msg.assistant{align-self:flex-start}.bubble{padding:8px 12px;border-radius:10px;word-break:break-word;line-height:1.5}.msg.user .bubble{background:#1677ff;color:#fff}.msg.assistant .bubble{background:#fff;border:1px solid #eee}.tool-status{color:#888;font-size:12px}.auth-note{padding:8px 16px;color:#b45309;background:#fffbeb;font-size:13px}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #eee;background:#fff}.composer textarea{flex:1;resize:none;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;font:inherit;line-height:1.4;max-height:120px}.composer button{padding:8px 16px;border:none;border-radius:8px;background:#1677ff;color:#fff;font:inherit;cursor:pointer}.composer button:disabled{opacity:.5;cursor:not-allowed}.md{font-size:14px;line-height:1.55}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md h1,.md h2,.md h3,.md h4{margin:10px 0 6px;font-weight:600;line-height:1.3}.md h1{font-size:18px}.md h2{font-size:16px}.md h3{font-size:15px}.md h4{font-size:14px}.md ul,.md ol{margin:4px 0 8px;padding-left:20px}.md li{margin:2px 0}.md strong{color:#111827;font-weight:600}.md a{color:#1677ff;text-decoration:underline}.md code{background:#f1f5f9;padding:1px 5px;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}.md pre{background:#0f172a;color:#e2e8f0;padding:10px 12px;border-radius:8px;overflow:auto}.md pre code{background:transparent;color:inherit;padding:0}.md table{border-collapse:collapse;margin:6px 0;width:100%;font-size:13px}.md th,.md td{border:1px solid #e5e7eb;padding:6px 10px;text-align:left}.md th{background:#f8fafc;font-weight:600}.md blockquote{margin:6px 0;padding:4px 12px;border-left:3px solid #cbd5e1;color:#475569}.md hr{border:none;border-top:1px solid #e5e7eb;margin:8px 0}
