.msg[data-v-6842fbe6]{display:flex;gap:var(--space-3);padding:var(--space-4) 0}.role-user[data-v-6842fbe6]{flex-direction:row-reverse}.msg-avatar[data-v-6842fbe6]{align-items:center;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.msg-bubble[data-v-6842fbe6]{font-size:14px;line-height:1.6;max-width:85%}.role-user .msg-bubble[data-v-6842fbe6]{background:var(--accent-primary);border-radius:var(--radius-lg);color:#fff;padding:10px 14px}.role-assistant .msg-bubble[data-v-6842fbe6]{color:var(--text-primary)}.msg-content[data-v-6842fbe6]{margin:0}.msg-content[data-v-6842fbe6] strong{color:var(--accent-primary);font-weight:600}.role-user .msg-content[data-v-6842fbe6] strong{color:#fff}.msg-citations[data-v-6842fbe6]{border-top:1px dashed var(--border);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-top:var(--space-3);padding-top:var(--space-2)}.msg-cite-label[data-v-6842fbe6]{color:var(--text-tertiary);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.msg-cite[data-v-6842fbe6]{border-bottom:1px dotted var(--accent-primary);color:var(--accent-primary)}.msg-cite[data-v-6842fbe6]:hover{border-bottom-style:solid}.ai-launcher[data-v-f3b45a3e]{align-items:center;background:linear-gradient(135deg,var(--accent-primary) 0,#4f8aff 100%);border-radius:999px;bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + 16px);box-shadow:0 8px 24px #7c5cff66,0 1px 2px #0006;color:#fff;display:inline-flex;height:56px;justify-content:center;position:fixed;right:16px;transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out);width:56px;z-index:70}.ai-launcher[data-v-f3b45a3e]:hover{box-shadow:0 14px 32px #7c5cff8c,0 1px 2px #0006;transform:scale(1.05)}.ai-launcher.ai-open[data-v-f3b45a3e]{transform:rotate(90deg)}@media(min-width:768px){.ai-launcher[data-v-f3b45a3e]{bottom:24px;right:24px}}.ai-sheet-overlay[data-v-f3b45a3e]{align-items:flex-end;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:color-mix(in srgb,var(--bg-primary) 70%,transparent);display:flex;inset:0;justify-content:center;position:fixed;z-index:80}@media(min-width:768px){.ai-sheet-overlay[data-v-f3b45a3e]{align-items:stretch;justify-content:flex-end}}.ai-sheet[data-v-f3b45a3e]{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80svh;width:100%}@media(min-width:768px){.ai-sheet[data-v-f3b45a3e]{border-radius:var(--radius-xl) 0 0 var(--radius-xl);border-right:0;max-height:none;width:480px}}.ai-sheet-head[data-v-f3b45a3e]{border-bottom:1px solid var(--border);justify-content:space-between;padding:var(--space-4) var(--space-5)}.ai-sheet-head[data-v-f3b45a3e],.ai-sheet-title[data-v-f3b45a3e]{align-items:center;display:flex;gap:var(--space-3)}.ai-sheet-name[data-v-f3b45a3e]{font-size:14px;font-weight:600;margin:0}.ai-sheet-sub[data-v-f3b45a3e]{color:var(--text-tertiary);font-size:11px;margin:2px 0 0}.ai-sheet-close[data-v-f3b45a3e]{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;height:32px;justify-content:center;width:32px}.ai-sheet-close[data-v-f3b45a3e]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ai-sheet-body[data-v-f3b45a3e]{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5)}.ai-sheet-empty[data-v-f3b45a3e]{color:var(--text-secondary);padding:var(--space-12) 0;text-align:center}.ai-empty-title[data-v-f3b45a3e]{color:var(--text-primary);font-size:17px;font-weight:500;margin:0 0 var(--space-2)}.ai-empty-sub[data-v-f3b45a3e]{font-size:13px;line-height:1.6;margin:0 auto;max-width:320px}.ai-thinking[data-v-f3b45a3e]{align-items:center;display:inline-flex;gap:6px;padding:14px 0}.ai-thinking .dot[data-v-f3b45a3e]{animation:dot-pulse-f3b45a3e 1.2s var(--ease-in-out) infinite;background:var(--text-tertiary);border-radius:999px;height:6px;width:6px}.ai-thinking .dot[data-v-f3b45a3e]:nth-child(2){animation-delay:.15s}.ai-thinking .dot[data-v-f3b45a3e]:nth-child(3){animation-delay:.3s}@keyframes dot-pulse-f3b45a3e{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.ai-sheet-foot[data-v-f3b45a3e]{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.ai-sheet-input[data-v-f3b45a3e]{background:var(--bg-tertiary);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);flex:1;font-family:inherit;font-size:14px;height:44px;outline:none;padding:0 var(--space-4);transition:border-color var(--duration-fast) var(--ease-out)}.ai-sheet-input[data-v-f3b45a3e]:focus{border-color:var(--accent-primary)}.ai-sheet-send[data-v-f3b45a3e]{align-items:center;background:var(--accent-primary);border-radius:var(--radius-md);color:#fff;display:inline-flex;height:44px;justify-content:center;transition:background var(--duration-fast);width:44px}.ai-sheet-send[data-v-f3b45a3e]:hover:not(:disabled){background:var(--accent-primary-hover)}.ai-sheet-send[data-v-f3b45a3e]:disabled{cursor:not-allowed;opacity:.5}.ai-sheet-disclaimer[data-v-f3b45a3e]{border-top:1px solid var(--border);color:var(--text-quaternary);font-size:10px;padding:var(--space-2) var(--space-5);text-align:center}.sheet-enter-active[data-v-f3b45a3e],.sheet-leave-active[data-v-f3b45a3e]{transition:opacity var(--duration-base) var(--ease-out)}.sheet-enter-active .ai-sheet[data-v-f3b45a3e],.sheet-leave-active .ai-sheet[data-v-f3b45a3e]{transition:transform var(--duration-base) var(--ease-out)}.sheet-enter-from[data-v-f3b45a3e],.sheet-leave-to[data-v-f3b45a3e]{opacity:0}.sheet-enter-from .ai-sheet[data-v-f3b45a3e],.sheet-leave-to .ai-sheet[data-v-f3b45a3e]{transform:translateY(20px)}@media(min-width:768px){.sheet-enter-from .ai-sheet[data-v-f3b45a3e],.sheet-leave-to .ai-sheet[data-v-f3b45a3e]{transform:translate(20px)}}.error-page[data-v-d6fb0bbf]{display:grid;min-height:100vh;padding:var(--space-12) var(--space-6);place-items:center}.error-inner[data-v-d6fb0bbf]{text-align:center}.error-code[data-v-d6fb0bbf]{color:var(--accent-primary);font-size:14px;letter-spacing:.2em;text-transform:uppercase}.error-code[data-v-d6fb0bbf],.error-title[data-v-d6fb0bbf]{margin-bottom:var(--space-4)}.error-title[data-v-d6fb0bbf]{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.03em}.error-sub[data-v-d6fb0bbf]{color:var(--text-secondary);font-size:var(--text-lg);line-height:1.6;margin:0 auto var(--space-8);max-width:540px}.error-actions[data-v-d6fb0bbf]{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.btn-primary[data-v-d6fb0bbf]{background:var(--accent-primary);border-radius:var(--radius-md);color:#fff;font-weight:500;padding:12px 24px;transition:background var(--duration-fast) var(--ease-out)}.btn-primary[data-v-d6fb0bbf]:hover{background:var(--accent-primary-hover)}.btn-secondary[data-v-d6fb0bbf]{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);padding:12px 24px;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.btn-secondary[data-v-d6fb0bbf]:hover{border-color:var(--accent-primary);color:var(--accent-primary)}
