.chat[data-v-797f8d8a]{display:flex;flex-direction:column;gap:16px}.composer[data-v-797f8d8a]{display:flex;flex-direction:column;gap:12px}.models[data-v-797f8d8a]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-797f8d8a]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:13px}.chip input[data-v-797f8d8a]{accent-color:var(--accent)}.chip.on[data-v-797f8d8a]{border-color:#3d8bfd8c;background:#3d8bfd1f}.chip.off[data-v-797f8d8a]{opacity:.45}.chip .tag[data-v-797f8d8a]{font-size:11px;padding:1px 6px;border-radius:999px;background:#e6c35c26;color:var(--warn)}.chip .tag.ok[data-v-797f8d8a]{background:#3ecf8e26;color:var(--ok)}.actions[data-v-797f8d8a]{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.btns[data-v-797f8d8a]{display:flex;gap:8px}.grid[data-v-797f8d8a]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pane[data-v-797f8d8a]{min-height:220px;display:flex;flex-direction:column;gap:10px}.pane header[data-v-797f8d8a]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.pane header strong[data-v-797f8d8a]{display:block;font-size:15px}.pane header small[data-v-797f8d8a]{color:var(--muted);font-size:12px}.pane .st[data-v-797f8d8a]{font-size:12px;padding:4px 8px;border-radius:999px;background:#ffffff0f;color:var(--muted);white-space:nowrap}.pane.streaming .st[data-v-797f8d8a]{color:var(--accent);background:#3d8bfd26}.pane.done .st[data-v-797f8d8a]{color:var(--ok);background:#3ecf8e26}.pane.error .st[data-v-797f8d8a]{color:var(--err);background:#f0717826}.pane .body[data-v-797f8d8a]{flex:1;margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Cascadia Code,Microsoft YaHei,monospace;font-size:13px;line-height:1.65;color:#d5deec;max-height:320px;overflow:auto;background:#0000002e;border-radius:12px;padding:12px}.pane footer[data-v-797f8d8a]{display:flex;justify-content:flex-end}.history ul[data-v-797f8d8a]{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.history li[data-v-797f8d8a]{display:flex;justify-content:space-between;gap:12px;align-items:center}.history button[data-v-797f8d8a]{flex:1;text-align:left;background:transparent;border:0;color:var(--text);cursor:pointer;padding:8px 0;font:inherit}.history button[data-v-797f8d8a]:hover{color:var(--accent)}.history time[data-v-797f8d8a]{color:var(--muted);font-size:12px;white-space:nowrap}.hist-head[data-v-797f8d8a]{display:flex;justify-content:space-between;gap:12px;align-items:baseline}@media(max-width:1100px){.grid[data-v-797f8d8a]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grid[data-v-797f8d8a]{grid-template-columns:1fr}}.admin[data-v-3a9029c1]{max-width:860px}.login h2[data-v-3a9029c1],.toolbar h2[data-v-3a9029c1]{margin:0 0 8px}.toolbar[data-v-3a9029c1]{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;align-items:flex-start}.list[data-v-3a9029c1]{display:flex;flex-direction:column;gap:12px}.item header[data-v-3a9029c1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item header strong[data-v-3a9029c1]{display:block}.item header small[data-v-3a9029c1]{color:var(--muted);font-size:12px}.field[data-v-3a9029c1]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);margin-top:10px}.row[data-v-3a9029c1]{display:flex;gap:8px;align-items:center;margin-top:12px}.ok[data-v-3a9029c1]{color:var(--ok);font-size:13px}.err[data-v-3a9029c1]{color:var(--err);margin-top:10px}.switch[data-v-3a9029c1]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}code[data-v-3a9029c1]{color:var(--gold)}:root{--bg: #0b1220;--panel: #121b2e;--panel2: #182338;--line: rgba(255, 255, 255, .08);--text: #e8eef8;--muted: #8fa3c0;--accent: #3d8bfd;--gold: #c9a24b;--ok: #3ecf8e;--err: #f07178;--warn: #e6c35c;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{background:radial-gradient(900px 480px at 12% -10%,rgba(61,139,253,.18),transparent 55%),radial-gradient(700px 400px at 90% 0%,rgba(201,162,75,.12),transparent 50%),var(--bg)}.shell{min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--line);background:#0b1220d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center}.brand .mark{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;background:linear-gradient(135deg,#2f6fed,#1d4ed8);color:#fff;box-shadow:0 8px 24px #2f6fed59}.brand strong{font-size:17px;letter-spacing:.5px}.brand p{margin:2px 0 0;font-size:12px;color:var(--muted)}nav{display:flex;gap:8px}nav a{color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:999px;font-size:14px;border:1px solid transparent}nav a.router-link-active,nav a:hover{color:#fff;background:#3d8bfd26;border-color:#3d8bfd59}nav a[href^=https]{border-color:#3ecf8e40}nav a[href^=https]:hover{background:#3ecf8e1f;color:#d7ffe9}.main{flex:1;padding:18px 22px 28px;max-width:1480px;width:100%;margin:0 auto}.btn{border:0;border-radius:12px;padding:10px 18px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#3d8bfd,#2563eb);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}.btn.danger{background:linear-gradient(135deg,#e2555f,#c43c46)}.input,textarea,select{width:100%;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px 14px;outline:none;font:inherit}textarea{resize:vertical;min-height:88px}.input:focus,textarea:focus,select:focus{border-color:#3d8bfd8c}.hint{color:var(--muted);font-size:13px;line-height:1.6}.card{background:linear-gradient(160deg,#ffffff0a,#ffffff04);border:1px solid var(--line);border-radius:16px;padding:14px}@media(max-width:860px){.main{padding:14px}.top{padding:12px 14px}}
