.chart-card[data-v-9c351c0f]{width:100%;margin-top:12px;background:#fafafa;border-radius:8px;padding:12px}.table-title[data-v-9c351c0f]{font-size:16px;font-weight:700;color:#333;text-align:center;margin-bottom:12px}.table-wrapper[data-v-9c351c0f]{overflow-x:auto;max-height:400px;overflow-y:auto}.data-table[data-v-9c351c0f]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-9c351c0f]{background:#5470c6;color:#fff;padding:10px 12px;text-align:left;font-weight:600;position:sticky;top:0;z-index:1}.data-table td[data-v-9c351c0f]{padding:8px 12px;border-bottom:1px solid #e0e0e0;text-align:right}.data-table tr[data-v-9c351c0f]:nth-child(2n){background:#f5f5f5}.data-table tr[data-v-9c351c0f]:hover{background:#e3f2fd}.data-table td[data-v-9c351c0f]:first-child,.data-table th[data-v-9c351c0f]:first-child{text-align:left}.echarts-container[data-v-9c351c0f]{width:100%;min-height:300px}.chart-placeholder[data-v-9c351c0f]{display:flex;align-items:center;justify-content:center;height:300px;color:#999;font-size:14px}.chat-container[data-v-548f6b64]{display:flex;flex-direction:column;height:100%;background:white;border-radius:16px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.messages[data-v-548f6b64]{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;-webkit-overflow-scrolling:touch}.recording-indicator[data-v-548f6b64]{display:flex;align-items:center;padding:8px 12px;background:#fff3e0;border-radius:8px;font-size:13px;color:#666}.recording-dot[data-v-548f6b64]{display:inline-block;width:8px;height:8px;background:#f44336;border-radius:50%;margin-right:8px;animation:pulse-548f6b64 1s ease-in-out infinite}@keyframes pulse-548f6b64{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.asr-text[data-v-548f6b64]{margin-left:8px;color:#0084ff;font-weight:500}.input-area[data-v-548f6b64]{flex-shrink:0;display:flex;padding:12px;border-top:1px solid #ddd;background:white;gap:8px;align-items:center}.mic-btn[data-v-548f6b64]{width:44px;min-width:44px;height:44px;border:none;border-radius:50%;background:#f5f5f5;font-size:20px;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}.mic-btn[data-v-548f6b64]:hover:not(.disabled){background:#e0e0e0}.mic-btn.recording[data-v-548f6b64]{background:#ffebee;animation:recording-pulse-548f6b64 1s ease-in-out infinite}.mic-btn.disabled[data-v-548f6b64]{opacity:.5;cursor:not-allowed}@keyframes recording-pulse-548f6b64{0%,to{box-shadow:0 0 #f4433666}50%{box-shadow:0 0 0 8px #f4433600}}.recording-icon[data-v-548f6b64]{font-size:16px}.message[data-v-548f6b64]{display:flex;flex-direction:column;max-width:85%}.message.user[data-v-548f6b64]{align-self:flex-end}.message.assistant[data-v-548f6b64]{align-self:flex-start}.role-label[data-v-548f6b64]{font-size:12px;margin-bottom:4px;margin-left:8px;color:#6c757d}.bubble[data-v-548f6b64]{padding:10px 14px;border-radius:18px;word-wrap:break-word;white-space:pre-wrap}.user .bubble[data-v-548f6b64]{background:#0084ff;color:#fff}.assistant .bubble[data-v-548f6b64]{background:#e4e6eb;color:#000}.content-text[data-v-548f6b64]{display:inline}.cursor[data-v-548f6b64]{display:inline-block;width:2px;height:1.2em;background-color:#333;margin-left:2px;animation:blink-548f6b64 1s step-end infinite;vertical-align:middle}@keyframes blink-548f6b64{0%,to{opacity:1}50%{opacity:0}}.tool-calls[data-v-548f6b64]{margin-top:8px;border-left:3px solid #ff9800;background:#fff8e7;border-radius:8px;padding:8px 12px;font-size:13px}.tool-call-item[data-v-548f6b64]{margin-bottom:12px;border-bottom:1px solid #ffe0b5;padding-bottom:8px}.tool-call-item[data-v-548f6b64]:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.tool-name[data-v-548f6b64]{font-weight:700;color:#e67e22}.tool-args[data-v-548f6b64],.tool-result[data-v-548f6b64]{font-family:monospace;font-size:12px;background:#fef3e2;margin-top:4px;padding:4px;border-radius:4px;overflow-x:auto}.tool-result pre[data-v-548f6b64]{margin:0;white-space:pre-wrap}.tool-result-truncated[data-v-548f6b64]{margin:0;padding:2px 4px;word-break:break-all}.charts[data-v-548f6b64]{margin-top:8px}.chart-item[data-v-548f6b64]{margin-bottom:8px}.typing-indicator[data-v-548f6b64]{color:#6c757d;font-size:12px;padding:5px 10px;align-self:flex-start}textarea[data-v-548f6b64]{flex:1;padding:10px 14px;border:1px solid #ccc;border-radius:24px;resize:none;font-family:inherit;font-size:15px;outline:none;min-height:44px;max-height:100px;line-height:1.4}textarea[data-v-548f6b64]:focus{border-color:#0084ff}textarea[data-v-548f6b64]:disabled{background-color:#f5f5f5;color:#999}button[data-v-548f6b64]{border:none;border-radius:24px;padding:0 18px;font-size:14px;font-weight:500;cursor:pointer;transition:.2s;min-height:44px;white-space:nowrap}.send-btn[data-v-548f6b64]{background:#0084ff;color:#fff}.send-btn[data-v-548f6b64]:hover{background:#0066cc}.send-btn[data-v-548f6b64]:disabled{background:#aaa;cursor:not-allowed}.stop-btn[data-v-548f6b64]{background:#dc3545;color:#fff}.stop-btn[data-v-548f6b64]:hover{background:#b02a37}@media (max-width: 600px){.messages[data-v-548f6b64]{padding:12px}.input-area[data-v-548f6b64]{padding:10px;gap:6px}textarea[data-v-548f6b64],button[data-v-548f6b64],.mic-btn[data-v-548f6b64]{min-height:40px}button[data-v-548f6b64]{padding:0 14px}.mic-btn[data-v-548f6b64]{width:40px;min-width:40px;font-size:18px}.bubble[data-v-548f6b64]{padding:8px 12px}.role-label[data-v-548f6b64]{font-size:11px}}@media (max-width: 480px){.chat-container[data-v-548f6b64]{border-radius:0}.messages[data-v-548f6b64]{padding:10px;gap:10px}.input-area[data-v-548f6b64]{padding:8px}textarea[data-v-548f6b64]{font-size:14px;padding:8px 12px}button[data-v-548f6b64]{padding:0 12px;font-size:13px;min-height:36px}.mic-btn[data-v-548f6b64]{width:36px;min-width:36px;height:36px;font-size:16px}}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f0f2f5}.app{height:100%;width:100%;max-width:1000px;margin:0 auto;padding:12px;display:flex;flex-direction:column}@media (max-width: 600px){.app{padding:8px}}@media (max-width: 480px){.app{padding:0}}
