.topbar-wrap[data-v-601d30fd]{display:flex;flex-direction:column;flex-shrink:0}.topbar[data-v-601d30fd]{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:12px}.brand[data-v-601d30fd]{display:flex;align-items:center;gap:10px}.brand-icon[data-v-601d30fd]{font-size:22px;line-height:1;filter:drop-shadow(0 0 6px rgba(196,151,42,.5))}.brand-text[data-v-601d30fd]{display:flex;flex-direction:column;line-height:1.2}.brand-title[data-v-601d30fd]{font-size:15px;font-weight:600;color:var(--accent-gold);letter-spacing:.02em}.brand-sub[data-v-601d30fd]{font-size:11px;color:var(--text-muted)}.tools[data-v-601d30fd]{display:flex;align-items:center;gap:10px}.status-badge[data-v-601d30fd]{display:flex;align-items:center;gap:5px;border-radius:20px;padding:3px 10px;font-size:11px;border:1px solid;transition:all .3s}.status-badge.ok[data-v-601d30fd]{border-color:#22c55e4d;background:#22c55e14;color:#22c55e}.status-badge.degraded[data-v-601d30fd]{border-color:#ef44444d;background:#ef444414;color:#ef4444}.status-badge.loading[data-v-601d30fd]{border-color:#c4972a4d;background:#c4972a14;color:var(--accent-gold)}.status-dot-sm[data-v-601d30fd]{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge.ok .status-dot-sm[data-v-601d30fd]{animation:pulse 2s ease-in-out infinite}.status-badge.loading .status-dot-sm[data-v-601d30fd]{animation:pulse .8s ease-in-out infinite}.lang-switch[data-v-601d30fd]{display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.lang-btn[data-v-601d30fd]{padding:4px 10px;font-size:12px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .15s}.lang-btn[data-v-601d30fd]:hover{color:var(--text-primary);background:#ffffff0a}.lang-btn.active[data-v-601d30fd]{background:#c4972a26;color:var(--accent-gold)}.icon-btn[data-v-601d30fd]{width:32px;height:32px;border-radius:var(--radius-sm);background:none;border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.icon-btn[data-v-601d30fd]:hover{color:var(--accent-red-bright);border-color:var(--accent-red-bright);background:#8b1a1a1a}.auth-btn[data-v-601d30fd]{padding:5px 12px;font-size:12px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;letter-spacing:.04em}.auth-btn.login[data-v-601d30fd]{background:#c4972a1a;border:1px solid var(--accent-gold);color:var(--accent-gold)}.auth-btn.login[data-v-601d30fd]:hover{background:#c4972a38;color:var(--accent-gold-bright)}.auth-btn.logout[data-v-601d30fd]{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.auth-btn.logout[data-v-601d30fd]:hover{border-color:var(--accent-red-bright);color:var(--accent-red-bright)}.user-chip[data-v-601d30fd]{display:flex;align-items:center;gap:6px;padding:2px 4px 2px 10px;border:1px solid var(--border-color);border-radius:999px}.user-tail[data-v-601d30fd]{font-family:var(--font-mono);font-size:12px;color:var(--accent-gold);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-banner[data-v-601d30fd]{display:flex;align-items:center;gap:8px;padding:6px 16px;background:#c4972a0f;border-bottom:1px solid var(--accent-gold);color:var(--accent-gold);font-size:12px;letter-spacing:.02em;cursor:pointer;transition:background .15s}.guest-banner[data-v-601d30fd]:hover{background:#c4972a1f}.guest-warn[data-v-601d30fd]{font-size:12px}.guest-text[data-v-601d30fd]{flex:1}.guest-cta[data-v-601d30fd]{color:var(--accent-gold-bright);font-weight:600;white-space:nowrap}.message-wrap[data-v-db63b8fa]{display:flex;gap:12px;padding:6px 0;animation:fadeIn-db63b8fa .2s ease}.message-wrap.user[data-v-db63b8fa]{flex-direction:row-reverse}.avatar[data-v-db63b8fa]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;margin-top:2px}.avatar.user[data-v-db63b8fa]{background:linear-gradient(135deg,#8b1a1a,#c4972a);color:#fff;border:1px solid var(--accent-gold)}.avatar.assistant[data-v-db63b8fa]{background:var(--bg-card);border:1px solid var(--border-color);padding:4px}.ai-avatar-img[data-v-db63b8fa]{width:24px;height:24px;filter:invert(75%) sepia(40%) saturate(600%) hue-rotate(10deg)}.bubble-area[data-v-db63b8fa]{max-width:75%;display:flex;flex-direction:column;gap:6px}.message-wrap.user .bubble-area[data-v-db63b8fa]{align-items:flex-end}.bubble[data-v-db63b8fa]{border-radius:var(--radius-md);padding:10px 14px;line-height:1.65;font-size:14.5px}.bubble.user[data-v-db63b8fa]{background:var(--user-bubble);border:1px solid rgba(196,151,42,.25);border-top-right-radius:4px;color:var(--text-primary)}.bubble.assistant[data-v-db63b8fa]{background:var(--ai-bubble);border:1px solid var(--border-color);border-top-left-radius:4px;color:var(--text-primary)}.user-text[data-v-db63b8fa]{white-space:pre-wrap;word-break:break-word}.cursor-blink[data-v-db63b8fa]{display:inline-block;color:var(--accent-gold);animation:pulse .8s ease-in-out infinite;font-weight:100;margin-left:1px}.sources[data-v-db63b8fa]{display:flex;flex-direction:column;gap:4px}.sources-label[data-v-db63b8fa]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted)}.source-tags[data-v-db63b8fa]{display:flex;flex-wrap:wrap;gap:4px}.source-tag[data-v-db63b8fa]{background:#c4972a14;border:1px solid rgba(196,151,42,.2);border-radius:4px;padding:2px 8px;font-size:11px;color:var(--accent-gold);cursor:default;transition:background .15s}.source-tag[data-v-db63b8fa]:hover{background:#c4972a26}.source-chapter[data-v-db63b8fa]{color:var(--text-muted)}.feedback-bar[data-v-db63b8fa]{display:flex;align-items:center;gap:4px;margin-top:2px}.feedback-btn[data-v-db63b8fa]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;transition:all .15s ease;padding:0}.feedback-btn[data-v-db63b8fa]:hover:not(:disabled){color:var(--accent-gold);border-color:#c4972a80;background:#c4972a14}.feedback-btn.active[data-v-db63b8fa]{color:var(--accent-gold);border-color:var(--accent-gold);background:#c4972a26}.feedback-btn[data-v-db63b8fa]:disabled{cursor:wait;opacity:.5}.feedback-hint[data-v-db63b8fa]{font-size:11px;color:var(--text-muted);margin-left:6px;animation:fadeIn-db63b8fa .2s ease}@keyframes fadeIn-db63b8fa{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.input-area[data-v-4ad3e00e]{display:flex;flex-direction:column;gap:6px;padding:12px 16px 14px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.status-bar[data-v-4ad3e00e]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--accent-gold);padding:0 2px}.status-dot[data-v-4ad3e00e]{width:6px;height:6px;border-radius:50%;background:var(--accent-gold);animation:pulse 1s ease-in-out infinite}.input-error[data-v-4ad3e00e]{font-size:12px;color:var(--accent-red-bright);padding:0 2px}.input-row[data-v-4ad3e00e]{display:flex;gap:8px;align-items:flex-end}.textarea-wrap[data-v-4ad3e00e]{flex:1;position:relative}textarea[data-v-4ad3e00e]{width:100%;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:14.5px;line-height:1.6;padding:10px 60px 10px 14px;resize:none;outline:none;transition:border-color .2s;min-height:44px;max-height:180px;overflow-y:auto}textarea[data-v-4ad3e00e]:focus{border-color:var(--border-active)}textarea[data-v-4ad3e00e]:disabled{opacity:.5;cursor:not-allowed}textarea[data-v-4ad3e00e]::placeholder{color:var(--text-muted)}.char-count[data-v-4ad3e00e]{position:absolute;right:10px;bottom:10px;font-size:11px;color:var(--text-muted);pointer-events:none}.char-count.warn[data-v-4ad3e00e]{color:#c0392b}.send-btn[data-v-4ad3e00e]{width:44px;height:44px;border-radius:var(--radius-md);background:var(--accent-gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#0d0d0f;flex-shrink:0;transition:background .2s,transform .1s,opacity .2s}.send-btn[data-v-4ad3e00e]:hover:not(:disabled){background:var(--accent-gold-bright);transform:scale(1.05)}.send-btn[data-v-4ad3e00e]:active:not(:disabled){transform:scale(.97)}.send-btn[data-v-4ad3e00e]:disabled{opacity:.35;cursor:not-allowed}.spinner[data-v-4ad3e00e]{width:16px;height:16px;border:2px solid rgba(0,0,0,.3);border-top-color:#0d0d0f;border-radius:50%;animation:spin .7s linear infinite}.hint[data-v-4ad3e00e]{font-size:11px;color:var(--text-muted);text-align:center}.fade-enter-active[data-v-4ad3e00e],.fade-leave-active[data-v-4ad3e00e]{transition:opacity .2s}.fade-enter-from[data-v-4ad3e00e],.fade-leave-to[data-v-4ad3e00e]{opacity:0}.welcome[data-v-e4e189db]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:1rem;flex:1}.sigil[data-v-e4e189db]{font-size:3.5rem;line-height:1;filter:drop-shadow(0 0 20px rgba(196,151,42,.6));margin-bottom:.5rem}.title[data-v-e4e189db]{font-size:1.7rem;font-weight:600;color:var(--accent-gold);letter-spacing:.03em}.desc[data-v-e4e189db]{font-size:14px;color:var(--text-secondary);max-width:400px}.suggestions[data-v-e4e189db]{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:.5rem;max-width:560px}.suggestion-btn[data-v-e4e189db]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;padding:8px 14px;cursor:pointer;text-align:left;transition:all .2s;line-height:1.4}.suggestion-btn[data-v-e4e189db]:hover{border-color:var(--accent-gold);color:var(--accent-gold);background:#c4972a0f}.login-mask[data-v-0f843306]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in-0f843306 .2s ease}@keyframes fade-in-0f843306{0%{opacity:0}to{opacity:1}}.login-card[data-v-0f843306]{position:relative;width:min(380px,92vw);background:var(--bg-secondary, #141418);border:1px solid var(--accent-gold, #c4972a);border-radius:var(--radius-md, 10px);padding:28px 24px 22px;box-shadow:0 0 0 1px #c4972a26,0 12px 40px #0000008c,var(--shadow-glow, 0 0 20px rgba(196, 151, 42, .15));color:var(--text-primary, #e8e0d0)}.close-btn[data-v-0f843306]{position:absolute;top:8px;right:10px;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary, #9a9080);font-size:22px;line-height:1;cursor:pointer;border-radius:6px;transition:all .15s}.close-btn[data-v-0f843306]:hover{color:var(--accent-gold-bright, #e8b84b);background:#c4972a1a}.card-head[data-v-0f843306]{text-align:center;margin-bottom:20px}.card-icon[data-v-0f843306]{font-size:28px;color:var(--accent-gold, #c4972a);filter:drop-shadow(0 0 6px rgba(196,151,42,.55));margin-bottom:4px}.card-title[data-v-0f843306]{font-size:18px;font-weight:600;color:var(--accent-gold, #c4972a);letter-spacing:.04em;margin-bottom:4px}.card-sub[data-v-0f843306]{font-size:12px;color:var(--text-muted, #5a5450)}.form[data-v-0f843306]{display:flex;flex-direction:column;gap:14px}.field[data-v-0f843306]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-0f843306]{font-size:12px;color:var(--text-secondary, #9a9080);letter-spacing:.02em}.input[data-v-0f843306]{background:#0e0e10;border:1px solid var(--border-color, #2a2a38);border-radius:var(--radius-sm, 6px);padding:10px 12px;color:var(--text-primary, #e8e0d0);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.input[data-v-0f843306]:focus{border-color:var(--accent-gold, #c4972a);box-shadow:0 0 0 2px #c4972a2e}.input[data-v-0f843306]:disabled{opacity:.55;cursor:not-allowed}.code-row[data-v-0f843306]{display:flex;gap:8px}.code-input[data-v-0f843306]{flex:1}.send-btn[data-v-0f843306]{white-space:nowrap;padding:0 12px;background:#c4972a1a;border:1px solid var(--accent-gold, #c4972a);color:var(--accent-gold, #c4972a);border-radius:var(--radius-sm, 6px);font-size:12px;cursor:pointer;transition:all .15s}.send-btn[data-v-0f843306]:hover:not(:disabled){background:#c4972a2e;color:var(--accent-gold-bright, #e8b84b)}.send-btn[data-v-0f843306]:disabled{border-color:var(--border-color, #2a2a38);color:var(--text-muted, #5a5450);background:transparent;cursor:not-allowed}.primary-btn[data-v-0f843306]{margin-top:4px;padding:10px 16px;font-size:14px;font-weight:600;background:linear-gradient(180deg,#d4a93a,#c4972a);color:#0d0d0f;border:1px solid #d4a93a;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:all .15s;letter-spacing:.05em}.primary-btn[data-v-0f843306]:hover:not(:disabled){background:linear-gradient(180deg,#e8b84b,#d4a93a);box-shadow:0 0 14px #e8b84b66}.primary-btn[data-v-0f843306]:disabled{background:var(--bg-card, #1a1a20);color:var(--text-muted, #5a5450);border-color:var(--border-color, #2a2a38);cursor:not-allowed}.err-text[data-v-0f843306]{margin:2px 0 0;font-size:12px;color:#ef4444}.guest-tip[data-v-0f843306]{margin-top:6px;font-size:11px;color:var(--text-muted, #5a5450);text-align:center}.app-layout[data-v-704a3135]{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--bg-primary)}.messages-area[data-v-704a3135]{flex:1;overflow-y:auto;display:flex;flex-direction:column}.messages-inner[data-v-704a3135]{display:flex;flex-direction:column;gap:4px;padding:16px 20px 20px;max-width:860px;width:100%;margin:0 auto}.error-banner[data-v-704a3135]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#8b1a1a33;border-top:1px solid rgba(192,57,43,.4);color:#e74c3c;font-size:13px;cursor:pointer}.close-hint[data-v-704a3135]{font-size:11px;color:#e74c3c99}.slide-up-enter-active[data-v-704a3135],.slide-up-leave-active[data-v-704a3135]{transition:all .2s ease}.slide-up-enter-from[data-v-704a3135],.slide-up-leave-to[data-v-704a3135]{opacity:0;transform:translateY(8px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0d0d0f;--bg-secondary: #141418;--bg-card: #1a1a20;--bg-input: #1e1e26;--border-color: #2a2a38;--border-active: #c4972a;--text-primary: #e8e0d0;--text-secondary: #9a9080;--text-muted: #5a5450;--accent-gold: #c4972a;--accent-gold-bright: #e8b84b;--accent-red: #8b1a1a;--accent-red-bright: #c0392b;--user-bubble: #1e2a3a;--ai-bubble: #1a1a20;--scrollbar-thumb: #2a2a38;--font-body: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Consolas", "Monaco", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-glow: 0 0 20px rgba(196, 151, 42, .15)}html,body,#app{height:100%;width:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);font-size:15px;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-active)}::selection{background:#c4972a4d}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.markdown-content{line-height:1.75}.markdown-content p{margin:.5em 0}.markdown-content h1,.markdown-content h2,.markdown-content h3{color:var(--accent-gold);margin:1em 0 .4em;font-weight:600}.markdown-content ul,.markdown-content ol{padding-left:1.5em;margin:.4em 0}.markdown-content li{margin:.2em 0}.markdown-content code{background:#c4972a1a;border:1px solid rgba(196,151,42,.2);border-radius:3px;padding:1px 5px;font-family:var(--font-mono);font-size:.88em;color:var(--accent-gold-bright)}.markdown-content pre{background:#0a0a0e;border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1em;overflow-x:auto;margin:.8em 0}.markdown-content pre code{background:none;border:none;padding:0;color:var(--text-primary)}.markdown-content blockquote{border-left:3px solid var(--accent-gold);padding-left:1em;color:var(--text-secondary);font-style:italic;margin:.8em 0}.markdown-content strong{color:var(--accent-gold-bright);font-weight:600}.markdown-content em{color:var(--text-secondary)}.markdown-content a{color:var(--accent-gold);text-decoration:underline}.markdown-content hr{border:none;border-top:1px solid var(--border-color);margin:1em 0}
