:root{--bg: #f7f8fa;--panel: #ffffff;--border: #e2e6ec;--text: #1a2332;--muted: #6b7280;--accent: #2563eb;--user-bg: #e0edff;--tool-bg: #fef3c7;--tool-border: #f59e0b;--error: #dc2626;--shadow: 0 1px 3px rgba(0, 0, 0, .05)}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);height:100%}.app{display:flex;flex-direction:column;height:100vh;max-width:1100px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border)}.topbar h1{margin:0;font-size:1.1rem;font-weight:600}.topbar .user{font-size:.9rem;color:var(--muted)}.topbar a{margin-left:12px;color:var(--accent);text-decoration:none;font-size:.9rem}.messages{flex:1;overflow-y:auto;padding:20px}.msg{margin-bottom:16px;max-width:100%}.msg.user{display:flex;justify-content:flex-end}.msg.user .bubble{background:var(--user-bg);padding:10px 14px;border-radius:12px 12px 0;max-width:80%}.msg.assistant .bubble{background:var(--panel);border:1px solid var(--border);padding:12px 16px;border-radius:12px 12px 12px 0;box-shadow:var(--shadow)}.markdown{line-height:1.55;font-size:.95rem}.markdown>*:first-child{margin-top:0}.markdown>*:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:16px 0 6px;line-height:1.3}.markdown h1{font-size:1.25rem;font-weight:700}.markdown h2{font-size:1.1rem;font-weight:700}.markdown h3{font-size:1rem;font-weight:600;color:var(--accent)}.markdown h4{font-size:.95rem;font-weight:600}.markdown p{margin:6px 0}.markdown ul,.markdown ol{margin:6px 0;padding-left:22px}.markdown li{margin:2px 0}.markdown code{background:#f1f3f5;padding:1px 5px;border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em}.markdown pre{background:#f1f3f5;padding:10px 12px;border-radius:6px;overflow-x:auto;font-size:.85rem}.markdown pre code{background:transparent;padding:0}.markdown blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid var(--tool-border);background:#fffbeb;color:#4b5563;border-radius:0 4px 4px 0}.markdown table{border-collapse:collapse;margin:10px 0;width:100%;font-size:.9rem}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.markdown th{background:#f8f9fa;font-weight:600}.markdown tr:nth-child(2n) td{background:#fafbfc}.markdown a{color:var(--accent)}.markdown hr{border:0;border-top:1px solid var(--border);margin:14px 0}.markdown strong{font-weight:600}.steps{margin:8px 0 12px;padding:0;list-style:none}.step{background:var(--tool-bg);border-left:3px solid var(--tool-border);padding:6px 10px;margin-bottom:4px;font-size:.85rem;font-family:ui-monospace,SF Mono,Menlo,monospace;border-radius:0 4px 4px 0}.step.pending{opacity:.7}.step .tool-name{font-weight:600}.step .preview{color:var(--muted);margin-left:6px}.step .input{display:block;margin-top:2px;color:var(--muted);font-size:.78rem}.error{color:var(--error);background:#fef2f2;border:1px solid #fecaca;padding:8px 12px;border-radius:6px;margin-bottom:8px}.input-bar{display:flex;padding:12px 20px;background:var(--panel);border-top:1px solid var(--border);gap:10px}.input-bar textarea{flex:1;resize:none;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.95rem;min-height:44px;max-height:200px}.input-bar textarea:focus{outline:none;border-color:var(--accent)}.input-bar button{padding:0 18px;background:var(--accent);color:#fff;border:0;border-radius:8px;font-weight:600;cursor:pointer;font-size:.95rem}.input-bar button:disabled{opacity:.5;cursor:not-allowed}.empty{text-align:center;color:var(--muted);padding:60px 20px}.empty h2{margin:0 0 8px;font-size:1.1rem}.empty .examples{margin-top:24px;text-align:left;max-width:600px;margin-left:auto;margin-right:auto}.empty .examples li{margin-bottom:8px;cursor:pointer;color:var(--accent)}.empty .examples li:hover{text-decoration:underline}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.login-screen a{background:var(--accent);color:#fff;padding:10px 20px;border-radius:8px;text-decoration:none;font-weight:600}
