#app-root{max-width:640px;margin:0 auto;min-height:100vh}.login-page[data-v-b1dd02c1]{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px;background:linear-gradient(160deg,#e8eeff,#f5f6fa 60%)}.hero[data-v-b1dd02c1]{text-align:center;margin-bottom:32px}.hero-icon[data-v-b1dd02c1]{font-size:52px;margin-bottom:12px}.hero-title[data-v-b1dd02c1]{font-size:22px;font-weight:700;color:#1a1a2e}.hero-sub[data-v-b1dd02c1]{font-size:13px;color:#888;margin-top:6px}.card[data-v-b1dd02c1]{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:28px 24px;box-shadow:0 4px 24px #4f7cff1a}.tabs[data-v-b1dd02c1]{display:flex;gap:0;margin-bottom:24px;background:#f0f2f8;border-radius:10px;padding:4px}.tab[data-v-b1dd02c1]{flex:1;padding:8px 0;border:none;background:transparent;border-radius:8px;font-size:15px;cursor:pointer;color:#888;transition:all .2s}.tab.active[data-v-b1dd02c1]{background:#fff;color:#4f7cff;font-weight:600;box-shadow:0 1px 4px #0000001a}.form[data-v-b1dd02c1]{display:flex;flex-direction:column;gap:16px}.field[data-v-b1dd02c1]{display:flex;flex-direction:column;gap:6px}.field label[data-v-b1dd02c1]{font-size:13px;color:#555;font-weight:500}.field input[data-v-b1dd02c1]{padding:12px 14px;border:1.5px solid #e5e7ef;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s}.field input[data-v-b1dd02c1]:focus{border-color:#4f7cff}.err[data-v-b1dd02c1]{font-size:13px;color:#ef4444;text-align:center}.btn-primary[data-v-b1dd02c1]{margin-top:4px;padding:14px;border:none;border-radius:12px;background:#4f7cff;color:#fff;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}.btn-primary[data-v-b1dd02c1]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-b1dd02c1]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-b1dd02c1 .7s linear infinite}@keyframes spin-b1dd02c1{to{transform:rotate(360deg)}}.page[data-v-572681f2]{display:flex;flex-direction:column;min-height:100vh;background:#f5f6fa}.navbar[data-v-572681f2]{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#fff;box-shadow:0 1px 8px #0000000f}.navbar-title[data-v-572681f2]{font-size:17px;font-weight:700;color:#1a1a2e}.logout-btn[data-v-572681f2]{font-size:13px;color:#888;border:none;background:none;cursor:pointer;padding:4px 8px}.main[data-v-572681f2]{flex:1;padding:20px 16px 40px;display:flex;flex-direction:column;gap:16px;max-width:600px;margin:0 auto;width:100%}.upload-card[data-v-572681f2]{background:#fff;border-radius:18px;border:2px dashed #c8d4ff;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,box-shadow .2s;padding:24px;position:relative;overflow:hidden}.upload-card[data-v-572681f2]:hover{border-color:#4f7cff;box-shadow:0 2px 16px #4f7cff1f}.upload-icon[data-v-572681f2]{font-size:48px;margin-bottom:12px}.upload-hint[data-v-572681f2]{font-size:16px;font-weight:600;color:#333}.upload-sub[data-v-572681f2]{font-size:12px;color:#aaa;margin-top:6px}.preview-img[data-v-572681f2]{width:100%;max-height:280px;object-fit:cover;border-radius:12px}.reselect[data-v-572681f2]{margin-top:12px;padding:8px 20px;border:1.5px solid #4F7CFF;border-radius:8px;background:none;color:#4f7cff;font-size:14px;cursor:pointer}.tips-card[data-v-572681f2]{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:0 1px 8px #0000000d}.tips-title[data-v-572681f2]{font-size:14px;font-weight:600;color:#444;margin-bottom:10px}.tips-list[data-v-572681f2]{padding-left:18px;display:flex;flex-direction:column;gap:6px}.tips-list li[data-v-572681f2]{font-size:13px;color:#666;line-height:1.6}.btn-analyze[data-v-572681f2]{padding:16px;border:none;border-radius:14px;background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px #4f7cff59;transition:opacity .2s}.btn-analyze[data-v-572681f2]:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.err-msg[data-v-572681f2]{text-align:center;font-size:13px;color:#ef4444}.btn-chat[data-v-572681f2]{padding:14px;border:1.5px solid #4F7CFF;border-radius:14px;background:#fff;color:#4f7cff;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s}.btn-chat[data-v-572681f2]:hover{background:#f0f4ff}.spinner[data-v-572681f2]{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-572681f2 .7s linear infinite;flex-shrink:0}@keyframes spin-572681f2{to{transform:rotate(360deg)}}.page[data-v-cf8077e0]{display:flex;flex-direction:column;min-height:100vh;background:#f5f6fa}.navbar[data-v-cf8077e0]{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;box-shadow:0 1px 8px #0000000f}.navbar-title[data-v-cf8077e0]{font-size:17px;font-weight:700;color:#1a1a2e}.back-btn[data-v-cf8077e0]{display:flex;align-items:center;gap:2px;font-size:15px;color:#4f7cff;border:none;background:none;cursor:pointer}.back-arrow[data-v-cf8077e0]{font-size:22px;line-height:1}.main[data-v-cf8077e0]{flex:1;padding:16px 14px;display:flex;flex-direction:column;gap:14px;max-width:640px;margin:0 auto;width:100%}.empty[data-v-cf8077e0]{flex:1;display:flex;align-items:center;justify-content:center;font-size:15px;color:#aaa}.summary-banner[data-v-cf8077e0]{border-radius:18px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;color:#fff}.summary-banner.level-high[data-v-cf8077e0]{background:linear-gradient(135deg,#ef4444,#f87171)}.summary-banner.level-mid[data-v-cf8077e0]{background:linear-gradient(135deg,#f97316,#fb923c)}.summary-banner.level-low[data-v-cf8077e0],.summary-banner.level-safe[data-v-cf8077e0]{background:linear-gradient(135deg,#22c55e,#4ade80)}.summary-left[data-v-cf8077e0]{display:flex;align-items:center;gap:14px}.summary-icon[data-v-cf8077e0]{font-size:36px}.summary-label[data-v-cf8077e0]{font-size:13px;opacity:.85}.summary-count[data-v-cf8077e0]{font-size:28px;font-weight:800}.summary-badges[data-v-cf8077e0]{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.badge[data-v-cf8077e0]{padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600;background:#ffffff40;color:#fff}.section[data-v-cf8077e0]{display:flex;flex-direction:column;gap:10px}.section-title[data-v-cf8077e0]{font-size:15px;font-weight:700;color:#333;padding-left:10px;border-left:4px solid #4F7CFF}.hazard-card[data-v-cf8077e0]{background:#fff;border-radius:14px;padding:14px 16px;border-left:5px solid #e5e7ef;box-shadow:0 1px 6px #0000000d;display:flex;flex-direction:column;gap:7px}.hazard-card.高[data-v-cf8077e0]{border-left-color:#ef4444;background:#fff8f8}.hazard-card.中[data-v-cf8077e0]{border-left-color:#f97316;background:#fffaf6}.hazard-card.低[data-v-cf8077e0]{border-left-color:#22c55e;background:#f8fff9}.hazard-header[data-v-cf8077e0]{display:flex;align-items:center;gap:8px}.risk-badge[data-v-cf8077e0]{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;flex-shrink:0}.risk-badge.高[data-v-cf8077e0]{background:#fee2e2;color:#dc2626}.risk-badge.中[data-v-cf8077e0]{background:#ffedd5;color:#ea580c}.risk-badge.低[data-v-cf8077e0]{background:#dcfce7;color:#16a34a}.hazard-type[data-v-cf8077e0]{font-size:15px;font-weight:600;color:#1a1a2e}.hazard-location[data-v-cf8077e0]{font-size:13px;color:#666}.hazard-rec[data-v-cf8077e0]{font-size:13px;color:#444;line-height:1.6}.hazard-ref[data-v-cf8077e0]{font-size:11px;color:#999}.no-hazard[data-v-cf8077e0]{background:#f0fdf4;border-radius:14px;padding:20px;text-align:center;font-size:15px;color:#16a34a;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.metrics-grid[data-v-cf8077e0]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.metric-cell[data-v-cf8077e0]{background:#fff;border-radius:14px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 1px 6px #0000000d}.metric-icon[data-v-cf8077e0]{font-size:22px}.metric-val[data-v-cf8077e0]{font-size:18px;font-weight:700;color:#1a1a2e}.metric-val.metric-warn[data-v-cf8077e0]{color:#ef4444}.metric-label[data-v-cf8077e0]{font-size:12px;color:#888}.metric-warn-tip[data-v-cf8077e0]{font-size:10px;color:#f97316;text-align:center}.elder-risks[data-v-cf8077e0]{display:flex;flex-direction:column;gap:8px}.elder-risk-item[data-v-cf8077e0]{background:#fff;border-radius:12px;padding:12px 14px;font-size:13px;color:#555;display:flex;align-items:flex-start;gap:8px;box-shadow:0 1px 4px #0000000d}.elder-icon[data-v-cf8077e0]{flex-shrink:0}.quote-card[data-v-cf8077e0]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 1px 8px #0000000f}.quote-item[data-v-cf8077e0]{padding:10px 0;border-bottom:1px solid #f0f2f8}.quote-item[data-v-cf8077e0]:last-of-type{border-bottom:none}.quote-item-main[data-v-cf8077e0]{display:flex;justify-content:space-between;align-items:center}.quote-name[data-v-cf8077e0]{font-size:15px;font-weight:600;color:#222}.quote-price[data-v-cf8077e0]{font-size:15px;font-weight:700;color:#1a1a2e}.quote-item-detail[data-v-cf8077e0]{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.quote-spec[data-v-cf8077e0]{font-size:12px;color:#888}.quote-hazard-tag[data-v-cf8077e0]{font-size:11px;color:#4f7cff;background:#eef2ff;padding:2px 8px;border-radius:10px;max-width:48%;text-align:right}.quote-divider[data-v-cf8077e0]{height:1px;background:#e5e7ef;margin:8px 0}.quote-subtotal[data-v-cf8077e0]{display:flex;justify-content:space-between;font-size:13px;color:#777;padding:3px 0}.quote-total[data-v-cf8077e0]{display:flex;justify-content:space-between;align-items:center;padding:10px 0 4px;border-top:1.5px solid #e5e7ef;margin-top:4px;font-size:15px;font-weight:700;color:#1a1a2e}.total-price[data-v-cf8077e0]{font-size:22px;color:#ef4444}.quote-note[data-v-cf8077e0]{font-size:11px;color:#bbb;margin-top:8px;text-align:center}.compare-wrap[data-v-cf8077e0]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-panel[data-v-cf8077e0]{position:relative;border-radius:14px;overflow:hidden;background:#e8eaf0;cursor:pointer;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 6px #00000014}.compare-img[data-v-cf8077e0]{width:100%;height:100%;object-fit:cover;display:block}.compare-label[data-v-cf8077e0]{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;padding:3px 12px;border-radius:20px;white-space:nowrap}.before-label[data-v-cf8077e0]{background:#0000008c;color:#fff}.after-label[data-v-cf8077e0]{background:#4f7cffd9;color:#fff}.compare-zoom[data-v-cf8077e0]{position:absolute;top:8px;right:8px;font-size:14px;background:#ffffffb3;border-radius:50%;padding:3px 4px;line-height:1}.render-loading[data-v-cf8077e0]{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;height:100%;justify-content:center;padding:20px}.render-spinner[data-v-cf8077e0]{width:36px;height:36px;border:3px solid #d0d7ff;border-top-color:#4f7cff;border-radius:50%;animation:spin-cf8077e0 .8s linear infinite;flex-shrink:0}@keyframes spin-cf8077e0{to{transform:rotate(360deg)}}.render-hint[data-v-cf8077e0]{font-size:12px;color:#888;text-align:center}.render-error[data-v-cf8077e0]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;text-align:center}.render-error p[data-v-cf8077e0]{font-size:12px;color:#ef4444;line-height:1.5}.retry-btn[data-v-cf8077e0]{padding:6px 16px;border-radius:8px;border:1.5px solid #4F7CFF;background:none;color:#4f7cff;font-size:13px;cursor:pointer}.consult-entry-btn[data-v-cf8077e0]{padding:6px 12px;border:none;border-radius:20px;background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px #4f7cff4d}.consult-overlay[data-v-cf8077e0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#f0f4ff;display:flex;flex-direction:column;max-width:640px;margin:0 auto}.consult-navbar[data-v-cf8077e0]{display:flex;align-items:center;justify-content:center;position:relative;padding:14px 16px;background:#fff;box-shadow:0 1px 8px #00000014;flex-shrink:0}.consult-navbar-title[data-v-cf8077e0]{font-size:16px;font-weight:700;color:#1a1a2e}.consult-close-btn[data-v-cf8077e0]{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:none;background:#f0f2f8;color:#555;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.consult-quick[data-v-cf8077e0]{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 0;flex-shrink:0}.quick-chip[data-v-cf8077e0]{padding:7px 13px;border-radius:20px;border:1.5px solid #c8d4ff;background:#fff;color:#4f7cff;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.quick-chip[data-v-cf8077e0]:hover:not(:disabled){background:#eef2ff;border-color:#4f7cff}.quick-chip[data-v-cf8077e0]:disabled{opacity:.5;cursor:not-allowed}.consult-chat-list[data-v-cf8077e0]{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.c-row[data-v-cf8077e0]{display:flex;align-items:flex-end;gap:8px}.c-row.user[data-v-cf8077e0]{flex-direction:row-reverse}.c-avatar[data-v-cf8077e0]{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-bottom:2px}.c-avatar.ai[data-v-cf8077e0]{background:#4f7cff;color:#fff}.c-avatar.user[data-v-cf8077e0]{background:#dde5ff;color:#4f7cff}.c-bubble[data-v-cf8077e0]{max-width:72%;padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.7;word-break:break-word;white-space:pre-wrap;position:relative}.c-bubble.assistant[data-v-cf8077e0]{background:#fff;color:#222;border-bottom-left-radius:4px;box-shadow:0 1px 6px #00000012}.c-bubble.user[data-v-cf8077e0]{background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;border-bottom-right-radius:4px}.c-tts-btn[data-v-cf8077e0]{display:inline-block;margin-left:6px;border:none;background:none;cursor:pointer;font-size:13px;opacity:.5;vertical-align:middle;transition:opacity .2s;padding:0 2px}.c-tts-btn[data-v-cf8077e0]:hover,.c-tts-btn.playing[data-v-cf8077e0]{opacity:1}.c-dot-loader[data-v-cf8077e0]{display:inline-flex;gap:4px;align-items:center;height:20px}.c-dot-loader span[data-v-cf8077e0]{width:7px;height:7px;border-radius:50%;background:#4f7cff;animation:c-bounce-cf8077e0 1.2s infinite ease-in-out}.c-dot-loader span[data-v-cf8077e0]:nth-child(2){animation-delay:.2s}.c-dot-loader span[data-v-cf8077e0]:nth-child(3){animation-delay:.4s}@keyframes c-bounce-cf8077e0{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.consult-input-bar[data-v-cf8077e0]{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 20px;background:#fff;box-shadow:0 -2px 12px #00000014;flex-shrink:0}.consult-textarea[data-v-cf8077e0]{flex:1;resize:none;border:1.5px solid #e0e5f0;border-radius:20px;padding:10px 14px;font-size:14px;line-height:1.5;outline:none;font-family:inherit;background:#f9faff;min-height:42px;max-height:100px;overflow-y:auto;transition:border-color .2s}.consult-textarea[data-v-cf8077e0]:focus{border-color:#4f7cff;background:#fff}.consult-textarea[data-v-cf8077e0]:disabled{opacity:.6}.c-voice-btn[data-v-cf8077e0]{flex-shrink:0;width:42px;height:42px;border-radius:50%;border:1.5px solid #d0d9ff;background:#f4f6ff;font-size:17px;cursor:pointer;transition:background .2s,border-color .2s;display:flex;align-items:center;justify-content:center}.c-voice-btn.listening[data-v-cf8077e0]{background:#fee2e2;border-color:#f87171;animation:pulse-cf8077e0 .8s ease-in-out infinite}@keyframes pulse-cf8077e0{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.c-send-btn[data-v-cf8077e0]{flex-shrink:0;width:64px;height:42px;border:none;border-radius:20px;background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.c-send-btn[data-v-cf8077e0]:disabled{opacity:.45;cursor:not-allowed}.c-spinner[data-v-cf8077e0]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-cf8077e0 .7s linear infinite}.slide-up-enter-active[data-v-cf8077e0]{animation:slide-in-up-cf8077e0 .3s ease}.slide-up-leave-active[data-v-cf8077e0]{animation:slide-in-up-cf8077e0 .25s ease reverse}@keyframes slide-in-up-cf8077e0{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.lightbox-mask[data-v-cf8077e0]{align-items:center;justify-content:center;padding:20px}.lightbox-img[data-v-cf8077e0]{max-width:100%;max-height:85vh;border-radius:12px;object-fit:contain;box-shadow:0 8px 40px #00000080}.lightbox-close[data-v-cf8077e0]{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffffe6;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.bottom-bar[data-v-cf8077e0]{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;padding:12px 16px 20px;box-shadow:0 -2px 16px #0000001a;display:flex;align-items:center;gap:16px;max-width:640px;margin:0 auto}.bottom-summary[data-v-cf8077e0]{display:flex;flex-direction:column;gap:2px;flex:1}.bottom-label[data-v-cf8077e0]{font-size:12px;color:#888}.bottom-price[data-v-cf8077e0]{font-size:20px;font-weight:800;color:#ef4444}.btn-confirm[data-v-cf8077e0]{flex-shrink:0;padding:14px 28px;border:none;border-radius:14px;background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #4f7cff59;transition:opacity .2s}.btn-confirm[data-v-cf8077e0]:active{opacity:.8}.mask[data-v-cf8077e0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0006;display:flex;align-items:flex-end}.confirm-sheet[data-v-cf8077e0]{width:100%;max-width:640px;margin:0 auto;background:#fff;border-radius:24px 24px 0 0;padding:28px 24px 40px;animation:slideUp-cf8077e0 .3s ease}@keyframes slideUp-cf8077e0{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-title[data-v-cf8077e0]{font-size:20px;font-weight:700;color:#1a1a2e;margin-bottom:12px}.sheet-body[data-v-cf8077e0]{font-size:14px;color:#555;line-height:1.8;margin-bottom:24px}.sheet-actions[data-v-cf8077e0]{display:flex;gap:12px}.sheet-btn-outline[data-v-cf8077e0]{flex:1;padding:13px;border:1.5px solid #4F7CFF;border-radius:12px;background:none;color:#4f7cff;font-size:15px;font-weight:600;cursor:pointer}.sheet-btn-primary[data-v-cf8077e0]{flex:1;padding:13px;border:none;border-radius:12px;background:#4f7cff;color:#fff;font-size:15px;font-weight:600;cursor:pointer}.page[data-v-8b420c9b]{display:flex;flex-direction:column;height:100vh;background:#f0f4ff;max-width:640px;margin:0 auto}.navbar[data-v-8b420c9b]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;box-shadow:0 1px 8px #00000014;flex-shrink:0}.navbar-center[data-v-8b420c9b]{display:flex;align-items:center;gap:10px}.avatar[data-v-8b420c9b]{font-size:28px}.navbar-title[data-v-8b420c9b]{font-size:15px;font-weight:700;color:#1a1a2e;line-height:1.2}.navbar-sub[data-v-8b420c9b]{font-size:11px;color:#4f7cff}.back-btn[data-v-8b420c9b]{display:flex;align-items:center;gap:2px;font-size:15px;color:#4f7cff;border:none;background:none;cursor:pointer;white-space:nowrap}.back-arrow[data-v-8b420c9b]{font-size:22px;line-height:1}.msg-list[data-v-8b420c9b]{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.msg-row[data-v-8b420c9b]{display:flex;align-items:flex-end;gap:8px}.msg-row.user[data-v-8b420c9b]{flex-direction:row-reverse}.bubble-avatar[data-v-8b420c9b]{font-size:26px;flex-shrink:0;margin-bottom:2px}.bubble[data-v-8b420c9b]{max-width:72%;padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.7;word-break:break-word;position:relative}.ai-bubble[data-v-8b420c9b]{background:#fff;color:#222;border-bottom-left-radius:4px;box-shadow:0 1px 6px #00000014}.ai-bubble.playing[data-v-8b420c9b]{box-shadow:0 0 0 2px #4f7cff}.user-bubble[data-v-8b420c9b]{background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;border-bottom-right-radius:4px}.play-btn[data-v-8b420c9b]{display:inline-block;margin-left:8px;padding:0 4px;border:none;background:none;cursor:pointer;font-size:14px;opacity:.5;vertical-align:middle;transition:opacity .2s}.play-btn[data-v-8b420c9b]:hover,.play-btn.active[data-v-8b420c9b]{opacity:1}.thinking[data-v-8b420c9b]{display:flex;align-items:center;gap:10px;padding:12px 16px;min-width:120px}.thinking-text[data-v-8b420c9b]{font-size:13px;color:#888}.dot-loader[data-v-8b420c9b]{display:flex;gap:4px;align-items:center}.dot-loader span[data-v-8b420c9b]{width:7px;height:7px;border-radius:50%;background:#4f7cff;animation:bounce-8b420c9b 1.2s infinite ease-in-out}.dot-loader span[data-v-8b420c9b]:nth-child(2){animation-delay:.2s}.dot-loader span[data-v-8b420c9b]:nth-child(3){animation-delay:.4s}@keyframes bounce-8b420c9b{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.input-bar[data-v-8b420c9b]{display:flex;align-items:flex-end;gap:10px;padding:10px 12px 16px;background:#fff;box-shadow:0 -2px 12px #00000014;flex-shrink:0}.input-box[data-v-8b420c9b]{flex:1;resize:none;border:1.5px solid #e0e5f0;border-radius:20px;padding:10px 14px;font-size:14px;line-height:1.5;outline:none;transition:border-color .2s;font-family:inherit;min-height:42px;max-height:120px;overflow-y:auto}.input-box[data-v-8b420c9b]:focus{border-color:#4f7cff}.send-btn[data-v-8b420c9b]{flex-shrink:0;width:64px;height:42px;border:none;border-radius:20px;background:linear-gradient(135deg,#4f7cff,#6f9dff);color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.send-btn[data-v-8b420c9b]:disabled{opacity:.45;cursor:not-allowed}.spinner[data-v-8b420c9b]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-8b420c9b .7s linear infinite}@keyframes spin-8b420c9b{to{transform:rotate(360deg)}}
