:root{--bg: #f4f6fa;--panel: #ffffff;--border: #e2e6ef;--text: #1a2033;--muted: #6b7280;--muted-light: #9ca3af;--assistant: #f0f4ff;--assistant-border: #dce4ff;--user: #c62026;--user-light: #fef2f2;--accent: #c62026;--accent-dark: #9b1a1e;--accent-subtle: #fff0f0;--radius: 16px;--radius-sm: 10px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6}#root{height:100vh;display:flex;flex-direction:column}.app-shell{max-width:860px;width:100%;margin:0 auto;padding:16px 16px 12px;display:flex;flex-direction:column;height:100vh;gap:12px}.header{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;flex-shrink:0}.header-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-text{display:flex;flex-direction:column;gap:2px}.header-title-row{display:flex;align-items:center;gap:10px}.header-badge{background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;padding:3px 7px;border-radius:6px;flex-shrink:0}.header h1{margin:0;font-size:18px;font-weight:700;color:var(--text)}.header p{margin:0;color:var(--muted);font-size:13px}.clear-btn{background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 14px;font-size:13px;cursor:pointer;white-space:nowrap;transition:all .15s;flex-shrink:0}.clear-btn:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.chat-window{flex:1;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.avatar{width:30px;height:30px;border-radius:50%;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:.03em;align-self:flex-start;margin-top:4px}.assistant-avatar{background:var(--accent);color:#fff}.user-avatar{background:#e5e7eb;color:var(--muted)}.message-row{display:flex;gap:10px;margin-bottom:10px}.user-row{justify-content:flex-end}.assistant-row{justify-content:flex-start}.message-bubble{max-width:78%;padding:12px 16px;border-radius:var(--radius);line-height:1.65}.user-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.assistant-bubble{background:var(--assistant);border:1px solid var(--assistant-border);border-bottom-left-radius:4px;color:var(--text);min-width:60px}.typing-row{display:flex;gap:10px;margin-bottom:10px;align-items:flex-start}.typing-bubble{background:var(--assistant);border:1px solid var(--assistant-border);border-radius:var(--radius);border-bottom-left-radius:4px;padding:14px 18px;display:flex;gap:5px;align-items:center}.dot{width:7px;height:7px;background:var(--muted-light);border-radius:50%;animation:bounce 1.2s infinite ease-in-out}.dot:nth-child(1){animation-delay:0s}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.suggestions{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.suggestions-label{margin:0 0 10px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.suggestions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.suggestion-chip{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:var(--text);cursor:pointer;text-align:left;line-height:1.4;transition:all .15s}.suggestion-chip:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent-dark)}.composer{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px 10px;flex-shrink:0}.composer-inner{display:flex;gap:10px;align-items:flex-end}.composer textarea{flex:1;resize:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;font-size:14px;color:var(--text);background:var(--bg);line-height:1.5;transition:border-color .15s;outline:none}.composer textarea:focus{border-color:var(--accent);background:#fff}.composer textarea:disabled{opacity:.6}.composer button[type=submit]{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}.composer button[type=submit]:hover:not(:disabled){background:var(--accent-dark)}.composer button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.composer-hint{margin:7px 0 0;font-size:11.5px;color:var(--muted-light)}.assistant-bubble .md-p{margin:0 0 10px}.assistant-bubble .md-p:last-child{margin-bottom:0}.assistant-bubble .md-ul,.assistant-bubble .md-ol{margin:6px 0 10px;padding-left:20px}.assistant-bubble .md-li{margin-bottom:4px}.assistant-bubble .md-h1{font-size:17px;margin:12px 0 6px;color:var(--accent-dark)}.assistant-bubble .md-h2{font-size:15px;margin:12px 0 5px;color:var(--accent-dark)}.assistant-bubble .md-h3{font-size:14px;margin:10px 0 4px;font-weight:600;color:var(--text)}.assistant-bubble .md-strong{font-weight:600}.md-table-wrap{overflow-x:auto;margin:8px 0}.md-table{border-collapse:collapse;width:100%;font-size:13px}.md-th{background:#e8ecf8;padding:7px 12px;text-align:left;font-weight:600;border:1px solid var(--border)}.md-td{padding:6px 12px;border:1px solid var(--border)}.md-code-inline{background:#eef;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:13px}.md-code-block{background:#f3f4f6;border-radius:8px;padding:12px;overflow-x:auto;font-family:monospace;font-size:13px;margin:8px 0}.md-blockquote{border-left:3px solid var(--accent);margin:8px 0;padding:4px 12px;color:var(--muted);font-style:italic}.chat-window::-webkit-scrollbar{width:5px}.chat-window::-webkit-scrollbar-track{background:transparent}.chat-window::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px}@media(max-width:600px){.app-shell{padding:10px 10px 8px;gap:8px}.header h1{font-size:15px}.suggestions-grid{grid-template-columns:1fr}.message-bubble{max-width:90%}.clear-btn{display:none}}
