:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.model-select[data-v-226a20bd]{display:inline-flex;align-items:center;gap:.5rem}.label[data-v-226a20bd]{font-size:.85rem;color:var(--muted-foreground)}.select-wrap[data-v-226a20bd]{display:inline-flex;align-items:center;gap:.4rem}.vendor-icon[data-v-226a20bd]{width:18px;height:18px;display:inline-block}select[data-v-226a20bd]{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:.5rem .75rem;border-radius:.5rem;border:1px solid var(--border);background:var(--muted);color:var(--foreground)}select[data-v-226a20bd]:disabled{opacity:.6;cursor:not-allowed}[data-v-a030bd02]:host,.chat-shell[data-v-a030bd02]{--background: #0b0c10;--panel: #111218;--muted: #1a1b22;--border: #22232b;--foreground: #e6e6ea;--muted-foreground: #9b9ca5;--accent: #6ee7b7;--accent-strong: #34d399}.chat-shell[data-v-a030bd02]{display:grid;grid-template-rows:auto 1fr auto;height:100dvh;background:var(--background);color:var(--foreground)}.topbar[data-v-a030bd02]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#ffffff05,#fff0),var(--panel);position:sticky;top:0;z-index:10}.brand[data-v-a030bd02]{display:flex;align-items:center;gap:.75rem}.logo[data-v-a030bd02]{width:36px;height:36px;display:grid;place-items:center;background:var(--muted);border-radius:.6rem}.logo .glow-dot.large[data-v-a030bd02]{width:14px;height:14px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px 3px #22c55ecc,0 0 18px 8px #22c55e4d;display:inline-block}.titles h1[data-v-a030bd02]{font-size:1rem;line-height:1;margin:0}.subtitle[data-v-a030bd02]{margin:.125rem 0 0;font-size:.8rem;color:var(--muted-foreground)}.controls[data-v-a030bd02]{display:flex;align-items:center;gap:.75rem;flex:1}.session[data-v-a030bd02]{display:flex;align-items:center;margin-left:auto}.login-btn[data-v-a030bd02]{padding:.5rem .8rem;border-radius:.6rem;border:1px solid var(--border);background:#1f2937;color:var(--foreground)}.login-btn[data-v-a030bd02]:disabled{opacity:.7}.user-chip[data-v-a030bd02]{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:999px;background:#0f172a;border:1px solid var(--border)}.user-chip .dot[data-v-a030bd02]{width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block}.chat[data-v-a030bd02]{overflow:auto;padding:1rem}.spacer[data-v-a030bd02]{height:.4rem}.msg[data-v-a030bd02]{display:grid;grid-template-columns:36px 1fr;gap:.5rem .75rem;margin-bottom:.75rem;align-items:start}.msg .avatar[data-v-a030bd02]{width:36px;height:36px;display:grid;place-items:center;background:var(--muted);border-radius:50%;font-size:18px;overflow:hidden}.msg .avatar .avatar-img[data-v-a030bd02]{width:24px;height:24px;object-fit:cover;display:block}.msg .avatar .glow-dot[data-v-a030bd02]{width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 6px 2px #22c55eb3,0 0 14px 6px #22c55e40;display:inline-block}.msg .bubble[data-v-a030bd02]{padding:.75rem .9rem;border-radius:.75rem;border:1px solid var(--border);background:#12131a}.msg[data-role=user] .bubble[data-v-a030bd02]{background:#0f1320}.msg[data-role=assistant] .bubble[data-v-a030bd02]{background:#101618}.loading-dots[data-v-a030bd02]{display:inline-flex;gap:6px;align-items:center}.loading-dots .dot[data-v-a030bd02]{width:6px;height:6px;border-radius:50%;background:var(--muted-foreground);opacity:.7;animation:bounce-a030bd02 1.2s infinite ease-in-out}.loading-dots .dot[data-v-a030bd02]:nth-child(1){animation-delay:0s}.loading-dots .dot[data-v-a030bd02]:nth-child(2){animation-delay:.15s}.loading-dots .dot[data-v-a030bd02]:nth-child(3){animation-delay:.3s}@keyframes bounce-a030bd02{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}.composer[data-v-a030bd02]{padding:.75rem;border-top:1px solid var(--border);background:linear-gradient(0deg,#ffffff05,#fff0),var(--panel)}.input-wrap[data-v-a030bd02]{display:flex;gap:.5rem;align-items:end}textarea[data-v-a030bd02]{flex:1;resize:none;max-height:30vh;padding:.75rem .9rem;border-radius:.75rem;border:1px solid var(--border);background:var(--muted);color:var(--foreground);line-height:1.35}textarea[data-v-a030bd02]::placeholder{color:var(--muted-foreground)}textarea[data-v-a030bd02]:disabled{opacity:.7}.send[data-v-a030bd02]{padding:.7rem 1rem;border-radius:.7rem;border:1px solid var(--border);background:var(--accent);color:#0a0a0a;font-weight:600}.send[disabled][data-v-a030bd02]{opacity:.6;filter:grayscale(30%)}.tips[data-v-a030bd02]{margin-top:.5rem;font-size:.8rem;color:var(--muted-foreground);text-align:center}@media (max-width: 899px){.chat-shell[data-v-a030bd02]{grid-template-rows:auto 1fr}.composer[data-v-a030bd02]{position:fixed;bottom:0;left:0;right:0;z-index:20}.chat[data-v-a030bd02]{padding-bottom:140px}}@media (min-width: 900px){.chat-shell[data-v-a030bd02]{max-width:960px;margin:0 auto;border:1px solid var(--border);border-radius:1rem}.topbar[data-v-a030bd02]{border-top-left-radius:1rem;border-top-right-radius:1rem}.composer[data-v-a030bd02]{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.app-topbar{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem}.brand{display:flex;align-items:center;gap:.4rem;min-width:0}.brand-logo{width:28px;height:28px;border-radius:6px;box-shadow:0 2px 8px #00000040}.brand-name{font-weight:700;color:var(--foreground, #eee);letter-spacing:.2px}.tabs{display:flex;gap:.5rem;padding:.5rem;justify-content:center;flex:1}.tabs button{padding:.5rem .9rem;border-radius:999px;border:1px solid var(--border, #222);background:var(--panel, #111);color:var(--foreground, #eee);opacity:.8}.tabs button.active{opacity:1;background:var(--muted, #1a1a1a)}.tab-panel.settings{min-height:60vh;display:grid;place-items:start center;padding:2rem 1rem}.settings-card{width:min(680px,92vw);border:1px solid var(--border, #222);border-radius:1rem;padding:1.25rem;background:var(--panel, #111);color:var(--foreground, #eee);box-shadow:0 6px 20px #00000040}.settings-card h2{margin:0 0 .25rem;font-size:1.1rem}.settings-card .hint{margin:0 0 1rem;color:var(--muted-foreground, #aaa)}.theme-options{display:grid;gap:.75rem}.theme-option{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:.75rem;border:1px dashed var(--border, #333);background:var(--muted, #181818)}.lang-flag{width:22px;height:22px;border-radius:999px;border:1px solid var(--border, #333)}.theme-option input{accent-color:var(--accent, #6ee7b7)}.swatch{width:22px;height:22px;border-radius:6px;border:1px solid var(--border, #333);display:inline-block}.swatch.dark{background:linear-gradient(135deg,#0b0c10,#1a1b22)}.swatch.light{background:linear-gradient(135deg,#fff,#f0f2f5)}.swatch.feminine{background:linear-gradient(135deg,#fff1f7,#ffe8f1 40%,#f7e8ff)}:root.theme-dark{--background: #0b0c10;--panel: #111218;--muted: #1a1b22;--border: #22232b;--foreground: #e6e6ea;--muted-foreground: #9b9ca5;--accent: #6ee7b7;--accent-strong: #34d399;--bubble-user: #0f1320;--bubble-assistant: #101618;--bubble: #12131a;--chip-bg: #0f172a;--btn-bg: #1f2937}:root.theme-light{--background: #fbfbfd;--panel: #ffffff;--muted: #f3f4f6;--border: #e5e7eb;--foreground: #0b0c10;--muted-foreground: #4b5563;--accent: #2563eb;--accent-strong: #1d4ed8;--bubble-user: #e8f0ff;--bubble-assistant: #eefaf3;--bubble: #f7f8fa;--chip-bg: #eef2f7;--btn-bg: #e7eaf0;background-color:var(--background)}:root.theme-feminine{--background: #fff7fb;--panel: #fffafe;--muted: #fff0f6;--border: #ffd6e7;--foreground: #402b3a;--muted-foreground: #8b6780;--accent: #ff77a9;--accent-strong: #ff4d94;--bubble-user: #ffe6f2;--bubble-assistant: #f8f0ff;--bubble: #fff0f6;--chip-bg: #ffe6f2;--btn-bg: #ffeaf4;background-image:radial-gradient(20px 20px at 20px 20px,rgba(255,182,193,.2) 20%,transparent 21%),radial-gradient(24px 24px at 120px 60px,rgba(255,192,203,.18) 20%,transparent 21%),radial-gradient(18px 18px at 60% 30%,rgba(255,182,193,.18) 18%,transparent 19%);background-color:var(--background)}html.theme-dark,html.theme-light,html.theme-feminine{background:var(--background)}:root.theme-light .chat-shell{background:var(--background);color:var(--foreground)}:root.theme-feminine .chat-shell{background:var(--background);color:var(--foreground)}:root.theme-light .msg .bubble{background:var(--bubble);border-color:var(--border)}:root.theme-light .msg[data-role=user] .bubble{background:var(--bubble-user)}:root.theme-light .msg[data-role=assistant] .bubble{background:var(--bubble-assistant)}:root.theme-feminine .msg .bubble{background:var(--bubble);border-color:var(--border)}:root.theme-feminine .msg[data-role=user] .bubble{background:var(--bubble-user)}:root.theme-feminine .msg[data-role=assistant] .bubble{background:var(--bubble-assistant)}:root.theme-light .login-btn,:root.theme-feminine .login-btn{background:var(--btn-bg);color:var(--foreground);border-color:var(--border)}:root.theme-light .user-chip,:root.theme-feminine .user-chip{background:var(--chip-bg);border-color:var(--border);color:var(--foreground)}:root.theme-light textarea,:root.theme-feminine textarea{background:var(--muted);color:var(--foreground);border-color:var(--border)}:root.theme-light .send{background:var(--accent);color:#0a0a0a}:root.theme-feminine .send{background:var(--accent);color:#3a0a1f}.app-shell.theme-light .chat-shell{--background: #fbfbfd;--panel: #ffffff;--muted: #f3f4f6;--border: #e5e7eb;--foreground: #0b0c10;--muted-foreground: #4b5563;--accent: #2563eb;--accent-strong: #1d4ed8;--bubble-user: #e8f0ff;--bubble-assistant: #eefaf3;--bubble: #f7f8fa;--chip-bg: #eef2f7;--btn-bg: #e7eaf0}.app-shell.theme-feminine .chat-shell{--background: #fff7fb;--panel: #fffafe;--muted: #fff0f6;--border: #ffd6e7;--foreground: #402b3a;--muted-foreground: #8b6780;--accent: #ff77a9;--accent-strong: #ff4d94;--bubble-user: #ffe6f2;--bubble-assistant: #f8f0ff;--bubble: #fff0f6;--chip-bg: #ffe6f2;--btn-bg: #ffeaf4}.app-shell.theme-light .msg .bubble{background:var(--bubble);border-color:var(--border)}.app-shell.theme-light .msg[data-role=user] .bubble{background:var(--bubble-user)}.app-shell.theme-light .msg[data-role=assistant] .bubble{background:var(--bubble-assistant)}.app-shell.theme-feminine .msg .bubble{background:var(--bubble);border-color:var(--border)}.app-shell.theme-feminine .msg[data-role=user] .bubble{background:var(--bubble-user)}.app-shell.theme-feminine .msg[data-role=assistant] .bubble{background:var(--bubble-assistant)}.app-shell.theme-light .login-btn,.app-shell.theme-feminine .login-btn{background:var(--btn-bg);color:var(--foreground);border-color:var(--border)}.app-shell.theme-light .user-chip,.app-shell.theme-feminine .user-chip{background:var(--chip-bg);border-color:var(--border);color:var(--foreground)}.app-shell.theme-light textarea,.app-shell.theme-feminine textarea{background:var(--muted);color:var(--foreground);border-color:var(--border)}.app-shell.theme-light .send{background:var(--accent);color:#0a0a0a}.app-shell.theme-feminine .send{background:var(--accent);color:#3a0a1f}.app-shell.theme-feminine{background-image:radial-gradient(20px 20px at 20px 20px,rgba(255,182,193,.2) 20%,transparent 21%),radial-gradient(24px 24px at 120px 60px,rgba(255,192,203,.18) 20%,transparent 21%),radial-gradient(18px 18px at 60% 30%,rgba(255,182,193,.18) 18%,transparent 19%)}
