.portfolio[data-v-bb227e50]{min-height:100%;position:relative;background:var(--bg);font-family:var(--font-body);color:var(--text)}.bg-blobs[data-v-bb227e50]{display:none}.blob[data-v-bb227e50]{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45}.blob-1[data-v-bb227e50]{width:380px;height:380px;top:8%;left:6%;background:#f3b4a533}.blob-2[data-v-bb227e50]{width:300px;height:300px;top:45%;right:8%;background:#d98a7329}.blob-3[data-v-bb227e50]{width:220px;height:220px;bottom:5%;left:20%;background:#f3b4a524}.site-header[data-v-bb227e50]{position:sticky;top:0;z-index:50;background:#ffffff8c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}.site-header.scrolled[data-v-bb227e50]{background:#ffffffc7;border-bottom-color:var(--border);box-shadow:0 6px 20px #18181b0d}.header-inner[data-v-bb227e50]{display:flex;align-items:center;gap:24px;height:68px}.brand[data-v-bb227e50]{display:inline-flex;align-items:center;gap:10px;color:var(--text)}.brand[data-v-bb227e50]:hover{color:var(--text)}.brand-mark[data-v-bb227e50]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;font-family:var(--font-code);font-size:12px;font-weight:800;letter-spacing:.04em;box-shadow:0 6px 14px #d98a733d}.brand-text[data-v-bb227e50]{display:flex;flex-direction:column;line-height:1.2}.brand-name[data-v-bb227e50]{font-weight:700;font-size:15px}.brand-sub[data-v-bb227e50]{font-size:11px;color:var(--text-dim);font-family:var(--font-code);letter-spacing:.06em}.desktop-nav[data-v-bb227e50]{display:flex;align-items:center;gap:6px;margin-left:auto}.desktop-nav a[data-v-bb227e50]{position:relative;padding:7px 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--text-dim);transition:color .2s ease,background .2s ease}.desktop-nav a[data-v-bb227e50]:hover{color:var(--accent);background:var(--hover)}.desktop-nav a.active[data-v-bb227e50]{color:var(--accent);background:#f3b4a52e;font-weight:600}.desktop-nav a.active[data-v-bb227e50]:after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--accent)}.header-actions[data-v-bb227e50]{display:flex;align-items:center;gap:10px}.menu-btn[data-v-bb227e50]{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:8px;background:transparent;border:1px solid var(--border-strong);border-radius:9px}.menu-btn span[data-v-bb227e50]{display:block;height:2px;width:18px;background:var(--text);border-radius:2px}.mobile-nav[data-v-bb227e50]{display:none;padding:10px 24px 18px;border-top:1px solid var(--border);background:#ffffffeb}.mobile-nav a[data-v-bb227e50]{display:block;padding:11px 12px;border-radius:10px;color:var(--text-dim);font-weight:500}.mobile-nav a[data-v-bb227e50]:hover{background:var(--hover);color:var(--accent)}.btn[data-v-bb227e50]{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:600;line-height:1;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.btn-sm[data-v-bb227e50]{padding:9px 16px;font-size:13px}.btn-primary[data-v-bb227e50]{background:var(--accent);color:#fff;box-shadow:0 8px 20px #d98a7338}.btn-primary[data-v-bb227e50]:hover{background:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px #d98a7347}.btn-ghost[data-v-bb227e50]{background:transparent;color:var(--text);border:1px solid var(--border-strong)}.btn-ghost[data-v-bb227e50]:hover{background:var(--card);border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.arrow[data-v-bb227e50]{transition:transform .2s ease}.btn-primary:hover .arrow[data-v-bb227e50]{transform:translate(3px)}.hero[data-v-bb227e50]{position:relative;z-index:1;padding:96px 0 88px;text-align:center}.hero-inner[data-v-bb227e50]{display:flex;flex-direction:column;align-items:center}.hero h1[data-v-bb227e50]{font-family:var(--font-display);font-size:clamp(40px,6vw,68px);line-height:1.1;letter-spacing:-.02em;margin:18px 0 14px}.hero-title[data-v-bb227e50]{color:var(--accent);font-size:18px;font-weight:600;margin-bottom:16px}.hero-tagline[data-v-bb227e50]{color:var(--text-dim);font-size:16px;line-height:1.8;max-width:640px;margin:0 auto 30px}.hero-actions[data-v-bb227e50]{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:26px}.hero-meta[data-v-bb227e50]{display:flex;gap:16px;font-size:12px;color:var(--text-dim);align-items:center;flex-wrap:wrap;justify-content:center}.online[data-v-bb227e50]{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:600}.dot[data-v-bb227e50]{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 #0e9f6e66;animation:pulse-bb227e50 2s infinite}@keyframes pulse-bb227e50{70%{box-shadow:0 0 0 7px #0e9f6e00}to{box-shadow:0 0 #0e9f6e00}}.gradient-text[data-v-bb227e50]{background:linear-gradient(120deg,var(--accent-strong),var(--accent) 50%,var(--signal));-webkit-background-clip:text;background-clip:text;color:transparent}.section[data-v-bb227e50]{position:relative;z-index:1;padding:72px 0;scroll-margin-top:76px;border-top:1px solid var(--border)}.section-alt[data-v-bb227e50]{background:#f4f4f5b8}.section h2[data-v-bb227e50]{font-family:var(--font-display);font-size:34px;letter-spacing:-.02em;margin:12px 0 28px}.section-intro[data-v-bb227e50]{max-width:680px;margin:-12px 0 30px;color:var(--text-dim);font-size:14px;line-height:1.8}.lead[data-v-bb227e50]{color:var(--text-dim);font-size:16px;line-height:1.9;max-width:860px;margin-bottom:36px}.skills-grid[data-v-bb227e50]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.skill-card[data-v-bb227e50]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.skill-card[data-v-bb227e50]:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d98a736b}.skill-index[data-v-bb227e50]{font-size:12px;color:var(--text-faint);display:block;margin-bottom:12px}.skill-card h3[data-v-bb227e50]{font-size:17px;margin-bottom:8px;color:var(--accent-strong)}.skill-card p[data-v-bb227e50]{font-size:13px;color:var(--text-dim);line-height:1.7}.projects-grid[data-v-bb227e50]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.project-card[data-v-bb227e50]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.project-card[data-v-bb227e50]:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#d98a736b}.project-top[data-v-bb227e50]{display:flex;justify-content:space-between;align-items:center}.project-no[data-v-bb227e50]{font-size:12px;color:var(--text-faint)}.project-link[data-v-bb227e50]{font-size:13px;font-weight:600}.project-card h3[data-v-bb227e50]{font-size:20px;letter-spacing:-.01em}.project-desc[data-v-bb227e50]{color:var(--text-dim);font-size:14px;flex:1;line-height:1.7}.tech-tags[data-v-bb227e50]{display:flex;flex-wrap:wrap;gap:6px}.tag[data-v-bb227e50]{display:inline-block;font-family:var(--font-code);font-size:11px;background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);padding:4px 9px;border-radius:999px}.project-actions[data-v-bb227e50]{display:flex;flex-wrap:wrap;gap:14px;padding-top:4px;border-top:1px solid var(--border)}.text-link[data-v-bb227e50]{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:700}.text-link span[data-v-bb227e50]{transition:transform .2s ease}.text-link:hover span[data-v-bb227e50]{transform:translate(3px)}.timeline[data-v-bb227e50]{display:flex;flex-direction:column;gap:14px;max-width:860px}.timeline-item[data-v-bb227e50]{position:relative;display:grid;grid-template-columns:18px 1fr;gap:18px;padding-left:4px}.timeline-dot[data-v-bb227e50]{width:12px;height:12px;margin-top:22px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #d98a732e}.timeline-card[data-v-bb227e50]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 22px}.timeline-heading[data-v-bb227e50]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.timeline-heading p[data-v-bb227e50]{color:var(--accent);font-size:12px;margin-top:3px}.timeline-card h3[data-v-bb227e50]{font-size:16px;margin-bottom:4px}.timeline-period[data-v-bb227e50]{font-size:12px;color:var(--text-faint);margin-bottom:8px}.timeline-card p[data-v-bb227e50]:last-child{color:var(--text-dim);font-size:14px;line-height:1.7}.empty-card[data-v-bb227e50]{background:var(--card);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:32px;text-align:center;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;gap:16px}.ai-card[data-v-bb227e50]{background:linear-gradient(135deg,#f3b4a52e,#fff0ebb3),var(--card);border:1px solid var(--border);border-radius:20px;padding:44px 36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:var(--shadow-md)}.ai-card h2[data-v-bb227e50]{margin-bottom:0}.ai-card p[data-v-bb227e50]{color:var(--text-dim);max-width:560px;line-height:1.8}.prompt-row[data-v-bb227e50]{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:2px 0 8px}.prompt-chip[data-v-bb227e50]{padding:8px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--card);color:var(--text-dim);font-size:12px;transition:border-color .2s ease,color .2s ease,transform .2s ease}.prompt-chip[data-v-bb227e50]:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.site-footer[data-v-bb227e50]{position:relative;z-index:1;border-top:1px solid var(--border);background:#ffffff8c;padding:56px 0 28px}.footer-inner[data-v-bb227e50]{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.footer h2[data-v-bb227e50]{font-family:var(--font-display);font-size:30px;letter-spacing:-.02em;margin:10px 0 12px}.footer-note[data-v-bb227e50]{color:var(--text-dim);max-width:460px;font-size:14px;line-height:1.8}.socials[data-v-bb227e50]{display:flex;gap:12px}.socials a[data-v-bb227e50]{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:10px 16px;font-weight:600;color:var(--text);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.socials a[data-v-bb227e50]:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.social-arrow[data-v-bb227e50]{color:var(--text-faint)}.footer-bottom[data-v-bb227e50]{display:flex;justify-content:space-between;gap:16px;padding-top:32px;margin-top:40px;border-top:1px solid var(--border);font-size:12px;color:var(--text-faint)}@media (max-width: 860px){.desktop-nav[data-v-bb227e50]{display:none}.menu-btn[data-v-bb227e50]{display:inline-flex}.mobile-nav[data-v-bb227e50]{display:block}.footer-inner[data-v-bb227e50]{flex-direction:column}}@media (max-width: 640px){.hero[data-v-bb227e50]{padding:64px 0 56px}.hero h1[data-v-bb227e50]{font-size:38px}.section[data-v-bb227e50]{padding:52px 0}.section h2[data-v-bb227e50]{font-size:28px}.projects-grid[data-v-bb227e50]{grid-template-columns:1fr}.socials[data-v-bb227e50]{flex-direction:column;width:100%}.socials a[data-v-bb227e50]{justify-content:space-between}.footer-bottom[data-v-bb227e50]{flex-direction:column;text-align:center}.ai-card[data-v-bb227e50]{padding:32px 20px}.timeline-heading[data-v-bb227e50]{flex-direction:column;gap:2px}}.chat-page[data-v-669f6741]{display:flex;height:100%;min-height:0}.sidebar[data-v-669f6741]{width:236px;flex-shrink:0;background:var(--bg-soft);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px;gap:4px}.home-btn[data-v-669f6741]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 12px;background:var(--card);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease)}.home-btn[data-v-669f6741]:hover{border-color:var(--accent);color:var(--accent);background:var(--card);transform:translateY(-1px)}.brand[data-v-669f6741]{display:flex;align-items:center;gap:10px;padding:14px 6px 16px}.brand-mark[data-v-669f6741]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--accent);color:#fff;border-radius:8px;font-size:12px;font-weight:700}.brand-name[data-v-669f6741]{font-size:14px;font-weight:700;color:var(--text)}.new-chat-btn[data-v-669f6741]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:var(--card);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-md);font-size:13px;font-weight:500;justify-content:flex-start;box-shadow:var(--shadow-sm)}.new-chat-btn[data-v-669f6741]:hover{background:var(--card);border-color:var(--accent);color:var(--accent)}.new-chat-btn .icon[data-v-669f6741]{font-size:16px;line-height:1;width:16px;text-align:center}.workspace[data-v-669f6741]{margin-top:16px}.ws-title[data-v-669f6741]{font-size:11px;color:var(--text-faint);letter-spacing:.08em;padding:4px 8px;margin-bottom:6px}.ws-empty[data-v-669f6741]{font-size:12px;color:var(--text-faint);padding:8px 10px}.ws-list[data-v-669f6741]{display:flex;flex-direction:column;gap:2px}.ws-item[data-v-669f6741]{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--radius-md);font-size:13px;color:var(--text-dim);cursor:default}.ws-item.current[data-v-669f6741]{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}.ws-dot[data-v-669f6741]{width:7px;height:7px;border-radius:50%;background:var(--accent)}.main[data-v-669f6741]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg)}.list[data-v-669f6741]{flex:1;overflow-y:auto;padding:28px 32px;scroll-behavior:smooth}.empty[data-v-669f6741]{display:flex;justify-content:center;padding-top:9vh}.empty-card[data-v-669f6741]{max-width:640px;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px;box-shadow:var(--shadow-sm)}.empty-card h2[data-v-669f6741]{margin:14px 0 8px;font-family:var(--font-display);font-size:28px;letter-spacing:-.02em}.empty-card p[data-v-669f6741]{color:var(--text-dim);margin-bottom:24px}.suggests[data-v-669f6741]{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.chip[data-v-669f6741]{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:500;box-shadow:none}.chip[data-v-669f6741]:hover{background:var(--card);border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-sm)}.msg[data-v-669f6741]{display:flex;margin-bottom:24px}.msg.user[data-v-669f6741]{justify-content:flex-end}.msg.ai[data-v-669f6741]{justify-content:flex-start}.bubble[data-v-669f6741]{max-width:78%}.msg.user .bubble[data-v-669f6741]{background:var(--accent);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg);padding:12px 16px;box-shadow:0 6px 16px #d98a732e}.msg.ai .bubble[data-v-669f6741]{max-width:100%;width:100%}.ai-head[data-v-669f6741]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ai-avatar[data-v-669f6741]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--accent);color:#fff;font-size:11px;font-weight:700}.ai-name[data-v-669f6741]{font-size:13px;font-weight:700;color:var(--text)}.ai-status[data-v-669f6741]{font-size:11px;color:var(--text-faint);margin-left:auto}.ai-status.error[data-v-669f6741]{color:var(--err)}.ai-content[data-v-669f6741]{display:block;background:var(--card);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-md);padding:16px 18px;line-height:1.8;box-shadow:var(--shadow-sm)}.steps[data-v-669f6741]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.step[data-v-669f6741]{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);background:var(--surface-2);border:1px solid var(--border);padding:4px 10px;border-radius:999px;font-family:var(--font-code)}.step.running .dot[data-v-669f6741]{background:var(--warn);animation:pulse-669f6741 1s infinite}.step.done .dot[data-v-669f6741]{background:var(--ok)}.step.error .dot[data-v-669f6741]{background:var(--err)}.dot[data-v-669f6741]{width:7px;height:7px;border-radius:50%}@keyframes pulse-669f6741{50%{opacity:.3}}.think-block[data-v-669f6741]{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-2)}.think-toggle[data-v-669f6741]{width:100%;text-align:left;background:transparent;border:none;border-radius:0;color:var(--text-dim);padding:9px 14px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:none}.think-toggle[data-v-669f6741]:hover{color:var(--text);background:var(--hover)}.think-icon[data-v-669f6741]{font-size:13px}.think-caret[data-v-669f6741]{margin-left:auto;font-family:var(--font-code);color:var(--text-faint)}.think-content[data-v-669f6741]{padding:12px 14px;font-size:12px;color:var(--text-dim);white-space:pre-wrap;max-height:240px;overflow-y:auto;border-top:1px solid var(--border);line-height:1.7;background:var(--card)}.cursor[data-v-669f6741]{animation:blink-669f6741 1s steps(1) infinite;color:var(--accent)}@keyframes blink-669f6741{50%{opacity:0}}.ai-content[data-v-669f6741] .cite{display:inline-block;margin:0 2px;padding:0 5px;font-family:var(--font-code);font-size:11px;line-height:1.5;color:var(--accent);background:var(--accent-soft);border-radius:4px;cursor:pointer;vertical-align:baseline}.ai-content[data-v-669f6741] p{margin:6px 0}.ai-content[data-v-669f6741] strong{color:var(--text);font-weight:600}.ai-content[data-v-669f6741] ul,.ai-content[data-v-669f6741] ol{margin:6px 0;padding-left:1.4em}.ai-content[data-v-669f6741] li{margin:2px 0}.ai-content[data-v-669f6741] code{font-family:var(--font-code);font-size:13px;background:var(--bg-soft);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.ai-content[data-v-669f6741] a{color:var(--accent);text-decoration:underline}.ai-content[data-v-669f6741] h1,.ai-content[data-v-669f6741] h2,.ai-content[data-v-669f6741] h3,.ai-content[data-v-669f6741] h4{margin:10px 0 6px;font-weight:600}.ai-content[data-v-669f6741] blockquote{border-left:3px solid var(--border-strong);padding-left:10px;color:var(--text-dim);margin:6px 0}.ai-content[data-v-669f6741] table{border-collapse:collapse;margin:8px 0;font-size:13px}.ai-content[data-v-669f6741] th,.ai-content[data-v-669f6741] td{border:1px solid var(--border-strong);padding:4px 10px}.ai-content[data-v-669f6741] th{background:var(--bg-soft)}.sources[data-v-669f6741]{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.src-title[data-v-669f6741]{font-size:11px;color:var(--text-faint);letter-spacing:.08em;margin-bottom:6px}.src[data-v-669f6741]{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--text-dim);padding:5px 0}.src-index[data-v-669f6741]{color:var(--accent);font-weight:700;min-width:22px}.src-name[data-v-669f6741]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb[data-v-669f6741]{margin-top:10px;display:flex;gap:8px}.mini[data-v-669f6741]{background:var(--card);border:1px solid var(--border-strong);padding:5px 12px;border-radius:999px;color:var(--text-dim);font-size:12px;box-shadow:none}.mini[data-v-669f6741]:hover{background:var(--hover);border-color:var(--accent);color:var(--accent);box-shadow:none}.composer-wrap[data-v-669f6741]{padding:0 32px 14px}.composer[data-v-669f6741]{margin:0 auto;max-width:820px;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);overflow:hidden}.composer[data-v-669f6741]:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #d98a7329,var(--shadow-md)}.composer-row[data-v-669f6741]{padding:14px 16px 4px}.composer-row textarea[data-v-669f6741]{width:100%;resize:none;min-height:24px;max-height:200px;background:transparent;border:none;box-shadow:none;padding:0;font-size:15px;line-height:1.5;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden}.composer-row textarea[data-v-669f6741]:focus{border:none;box-shadow:none}.composer-foot[data-v-669f6741]{display:flex;align-items:center;justify-content:space-between;padding:4px 12px 12px 16px}.foot-right[data-v-669f6741]{display:flex;align-items:center;gap:8px}.meta[data-v-669f6741]{font-size:11px;color:var(--text-faint)}.mode-btn[data-v-669f6741]{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);font-size:12px;padding:6px 14px;border-radius:999px;box-shadow:none}.mode-btn[data-v-669f6741]:hover:not(.active){background:var(--hover);color:var(--text);box-shadow:none}.mode-btn.active[data-v-669f6741]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 10px #d98a7333}.mode-dot[data-v-669f6741]{width:6px;height:6px;border-radius:50%;background:currentColor}.send-btn[data-v-669f6741]{width:34px;height:34px;padding:0;background:var(--accent);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #d98a733d;-webkit-appearance:none;-moz-appearance:none;appearance:none}.send-btn[data-v-669f6741]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 14px #d98a7347}.send-btn[data-v-669f6741]:disabled{background:var(--bg-soft);color:var(--text-faint);box-shadow:none;cursor:not-allowed}.privacy[data-v-669f6741]{text-align:center;font-size:11px;color:var(--text-faint);padding:8px 0 2px}@media (max-width: 820px){.sidebar[data-v-669f6741]{width:58px;padding:10px 8px}.brand-name[data-v-669f6741],.home-btn span[data-v-669f6741],.new-chat-btn span[data-v-669f6741]:last-child,.workspace .ws-title[data-v-669f6741],.ws-item .ws-label[data-v-669f6741]{display:none}.home-btn[data-v-669f6741],.new-chat-btn[data-v-669f6741]{justify-content:center;padding:10px 0}.brand[data-v-669f6741]{justify-content:center;padding:10px 0 14px}.list[data-v-669f6741]{padding:20px 16px}.composer-wrap[data-v-669f6741]{padding:0 16px 12px}.bubble[data-v-669f6741]{max-width:88%}}.admin[data-v-74e166bb]{min-height:100%;padding:24px;max-width:1200px;margin:0 auto}.login-wrap[data-v-74e166bb]{display:flex;justify-content:center;padding-top:9vh}.login-card[data-v-74e166bb]{width:360px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px;display:flex;flex-direction:column;gap:12px}.login-brand[data-v-74e166bb]{font-size:11px;color:var(--text-faint);letter-spacing:.12em}.login-card h2[data-v-74e166bb]{font-family:var(--font-display);font-size:26px;letter-spacing:-.02em}.login-sub[data-v-74e166bb]{font-size:13px;color:var(--text-dim);margin-bottom:8px}.err[data-v-74e166bb]{color:var(--err);font-size:13px}.back[data-v-74e166bb]{text-align:center;font-size:13px;color:var(--text-dim)}.bar[data-v-74e166bb]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.bar-left[data-v-74e166bb]{display:flex;align-items:center;gap:10px}.brand-mark[data-v-74e166bb]{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:8px;padding:5px 8px;font-size:11px;font-weight:700;letter-spacing:.06em}.bar-title[data-v-74e166bb]{font-size:18px;font-weight:700}.bar-actions[data-v-74e166bb]{display:flex;align-items:center;gap:12px}.ghost-link[data-v-74e166bb]{font-size:14px;color:var(--text-dim)}.ghost[data-v-74e166bb]{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim);box-shadow:none}.ghost[data-v-74e166bb]:hover{background:var(--hover);color:var(--text);border-color:var(--accent);box-shadow:none}.tabs[data-v-74e166bb]{display:flex;gap:8px;margin-bottom:20px}.tab[data-v-74e166bb]{background:var(--card);border:1px solid var(--border);color:var(--text-dim);padding:9px 22px;box-shadow:none}.tab.active[data-v-74e166bb]{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 12px #d98a7333}.panel[data-v-74e166bb]{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.panel h2[data-v-74e166bb]{margin-bottom:14px;font-size:18px;font-family:var(--font-display);letter-spacing:-.01em}.panel h3[data-v-74e166bb]{margin-bottom:8px;font-size:14px;color:var(--text-dim)}.panel-grid[data-v-74e166bb]{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.stats[data-v-74e166bb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.stat-card[data-v-74e166bb]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:4px}.stat-label[data-v-74e166bb]{font-size:10px;color:var(--text-faint);letter-spacing:.08em}.stat-value[data-v-74e166bb]{font-size:24px;font-weight:700}.stat-value.ok[data-v-74e166bb]{color:var(--ok)}.stat-value.err[data-v-74e166bb]{color:var(--err)}.neg[data-v-74e166bb]{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.neg-item[data-v-74e166bb]{padding:8px 0;border-top:1px solid var(--border)}.neg-item .q[data-v-74e166bb]{font-size:13px}.neg-item .c[data-v-74e166bb]{font-size:12px;color:var(--err)}.kb-row[data-v-74e166bb]{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;flex-wrap:wrap}.kb-label[data-v-74e166bb]{font-size:11px;color:var(--text-faint)}.kb-value[data-v-74e166bb]{font-size:26px;font-weight:700}.kb-time[data-v-74e166bb]{font-size:12px;color:var(--text-faint)}.kb-msg[data-v-74e166bb]{margin-left:10px;font-size:13px;color:var(--accent)}.qa-list[data-v-74e166bb]{max-height:420px;overflow-y:auto}.qa-item[data-v-74e166bb]{border-top:1px solid var(--border);padding:10px 0}.qa-item[data-v-74e166bb]:first-child{border-top:none}.qa-head[data-v-74e166bb]{display:flex;justify-content:space-between;margin-bottom:4px}.qa-id[data-v-74e166bb],.qa-time[data-v-74e166bb]{font-size:11px;color:var(--text-faint)}.qa-item .q[data-v-74e166bb]{font-size:13px;font-weight:600}.qa-item .a[data-v-74e166bb]{font-size:12px;color:var(--text-dim)}.eval-controls[data-v-74e166bb]{display:flex;gap:16px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.eval-controls label[data-v-74e166bb]{font-size:13px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.eval-controls select[data-v-74e166bb]{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:4px 8px}.eval-cards[data-v-74e166bb]{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.eval-card[data-v-74e166bb]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 18px;min-width:120px}.eval-card .k[data-v-74e166bb]{font-size:12px;color:var(--text-dim)}.eval-card .v[data-v-74e166bb]{font-size:20px;font-weight:700;color:var(--text)}.by-type[data-v-74e166bb]{margin-bottom:12px;font-size:13px;color:var(--text-dim)}.type-tag[data-v-74e166bb]{display:inline-block;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:2px 10px;margin-left:8px;font-size:12px}.note[data-v-74e166bb]{font-size:12px;color:var(--warn);margin-bottom:12px}.eval-table[data-v-74e166bb]{width:100%;border-collapse:collapse;font-size:12px}.eval-table th[data-v-74e166bb],.eval-table td[data-v-74e166bb]{border:1px solid var(--border);padding:7px 9px;text-align:left}.eval-table th[data-v-74e166bb]{background:var(--bg-soft);color:var(--text-dim);font-family:var(--font-code);font-size:11px}.eval-table td.q[data-v-74e166bb]{max-width:320px}.eval-table tr.bad[data-v-74e166bb]{background:#d645450f}.eval-table .flag[data-v-74e166bb]{color:var(--err);font-size:11px}@media (max-width: 760px){.panel-grid[data-v-74e166bb]{grid-template-columns:1fr}.admin[data-v-74e166bb]{padding:16px}}:root{--bg: #ffffff;--bg-soft: #f4f4f5;--card: #ffffff;--card-hover: #fff8f6;--surface-2: #fafafa;--border: rgba(24, 24, 27, .1);--border-strong: rgba(24, 24, 27, .18);--hover: rgba(243, 180, 165, .18);--text: #18181b;--text-dim: #71717a;--text-faint: #a1a1aa;--accent: #d98a73;--accent-strong: #a95742;--accent-soft: #f8dfd7;--accent-hover: #c87861;--signal: #f3b4a5;--signal-soft: #fff0eb;--ok: #3d9b72;--warn: #c47b18;--err: #d64545;--font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "IBM Plex Sans", "Aptos", "Segoe UI", sans-serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-code: "JetBrains Mono", "SF Mono", "Fira Code", Consolas, "Liberation Mono", Menlo, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", monospace;--radius-lg: 14px;--radius-md: 9px;--radius-sm: 6px;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .24s;--shadow-sm: 0 1px 2px rgba(24, 24, 27, .04), 0 1px 3px rgba(24, 24, 27, .06);--shadow-md: 0 8px 24px rgba(24, 24, 27, .08), 0 2px 6px rgba(24, 24, 27, .05);--shadow-lg: 0 20px 50px rgba(24, 24, 27, .12)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#app{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.65}::selection{background:#f3b4a552}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#18181b2e;border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#18181b4d;border:2px solid transparent;background-clip:content-box}a{color:var(--accent);text-decoration:none;transition:color var(--dur) var(--ease)}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;padding:10px 18px;background:var(--accent);color:#fff;font-family:inherit;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}button:hover{background:var(--accent-hover);box-shadow:0 4px 12px #d98a7338}button:active{transform:translateY(0)}button:disabled{background:var(--bg-soft);color:var(--text-faint);cursor:not-allowed;box-shadow:none}input,textarea{background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d98a732e}.container{max-width:1120px;margin:0 auto;padding:0 24px}.mono{font-family:var(--font-code)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-code);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:600}.eyebrow:before{content:"";width:20px;height:1px;background:var(--accent);opacity:.6}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
