*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.nav{display:flex;background:#fff;border-bottom:1px solid #ddd}.nav a{padding:14px 24px;text-decoration:none;color:#666;font-weight:500}.nav a.active{color:#007bff;border-bottom:2px solid #007bff}.container{max-width:720px;margin:32px auto;padding:0 16px}.card[data-v-7756296d]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}h1[data-v-7756296d]{font-size:22px;margin-bottom:16px}label[data-v-7756296d]{display:block;margin:12px 0 4px;font-weight:500}textarea[data-v-7756296d],input[type=text][data-v-7756296d],input[type=number][data-v-7756296d],select[data-v-7756296d]{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:14px}textarea[data-v-7756296d]{min-height:120px;resize:vertical}.row[data-v-7756296d]{display:flex;gap:12px}.field[data-v-7756296d]{flex:1}.advanced-toggle[data-v-7756296d]{margin:12px 0 4px;font-size:13px;color:#007bff;cursor:pointer;-webkit-user-select:none;user-select:none}.advanced[data-v-7756296d]{padding:12px;background:#f8f9fa;border-radius:6px;margin-bottom:8px}button[data-v-7756296d]{margin-top:16px;padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer}button[data-v-7756296d]:hover{background:#0056b3}button[data-v-7756296d]:disabled{opacity:.6;cursor:not-allowed}.cache-row[data-v-7756296d]{font-weight:400;font-size:13px;color:#666;cursor:pointer}.cache-row input[data-v-7756296d]{margin-right:6px}.result[data-v-7756296d]{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:6px;position:relative}.result[data-v-7756296d] pre{background:#1e1e1e;color:#d4d4d4;padding:14px;border-radius:6px;overflow-x:auto}.result[data-v-7756296d] code{font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:13px}.result[data-v-7756296d] p{margin-bottom:8px}.result[data-v-7756296d] ul,.result[data-v-7756296d] ol{padding-left:20px;margin-bottom:8px}.result[data-v-7756296d] h1,.result[data-v-7756296d] h2,.result[data-v-7756296d] h3{margin:16px 0 8px}.result[data-v-7756296d] blockquote{border-left:4px solid #007bff;padding-left:12px;color:#666;margin:8px 0}.result[data-v-7756296d] table{border-collapse:collapse;width:100%;margin:8px 0}.result[data-v-7756296d] th,.result[data-v-7756296d] td{border:1px solid #ddd;padding:6px 10px;text-align:left}.result[data-v-7756296d] th{background:#f0f0f0}.error[data-v-7756296d]{color:#dc3545}.error[data-v-7756296d] *{color:inherit}.cache-badge[data-v-7756296d]{display:inline-block;font-size:11px;font-weight:600;color:#fff;background:#28a745;padding:2px 8px;border-radius:10px;margin-bottom:8px}.copy-btn[data-v-7756296d]{position:absolute;top:8px;right:8px;font-size:11px;padding:2px 8px;background:transparent;border:1px solid #ccc;border-radius:4px;color:#666;cursor:pointer;line-height:1.6;margin:0}.copy-btn[data-v-7756296d]:hover{background:#e9ecef;border-color:#999}.error .copy-btn[data-v-7756296d]{display:none}.btn-row[data-v-7756296d]{display:flex;gap:8px;align-items:center}.stop-btn[data-v-7756296d]{background:#6c757d}.stop-btn[data-v-7756296d]:hover{background:#5a6268}.ghost-btn[data-v-7756296d]{background:transparent;color:#007bff;border:1px solid #007bff}.ghost-btn[data-v-7756296d]:hover{background:#e7f1ff}.streaming>div[data-v-7756296d]:last-child:after{content:"▍";color:#007bff;animation:blink-7756296d 1s steps(1) infinite}@keyframes blink-7756296d{50%{opacity:0}}.thinking[data-v-7756296d]{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:6px;color:#666;font-size:14px}.dots span[data-v-7756296d]{animation:blink-7756296d 1.2s infinite}.dots span[data-v-7756296d]:nth-child(2){animation-delay:.2s}.dots span[data-v-7756296d]:nth-child(3){animation-delay:.4s}.card[data-v-f7289bb9]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}h1[data-v-f7289bb9]{font-size:22px;margin-bottom:16px}label[data-v-f7289bb9]{display:block;margin:12px 0 4px;font-weight:500}textarea[data-v-f7289bb9],input[type=text][data-v-f7289bb9],input[type=file][data-v-f7289bb9],select[data-v-f7289bb9]{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:14px}textarea[data-v-f7289bb9]{min-height:80px;resize:vertical}button[data-v-f7289bb9]{margin-top:16px;padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer}button[data-v-f7289bb9]:hover{background:#0056b3}button[data-v-f7289bb9]:disabled{opacity:.6;cursor:not-allowed}.result[data-v-f7289bb9]{margin-top:20px;padding:16px;background:#f8f9fa;border-radius:6px}.result[data-v-f7289bb9] pre{background:#1e1e1e;color:#d4d4d4;padding:14px;border-radius:6px;overflow-x:auto}.result[data-v-f7289bb9] code{font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:13px}.result[data-v-f7289bb9] p{margin-bottom:8px}.result[data-v-f7289bb9] ul,.result[data-v-f7289bb9] ol{padding-left:20px;margin-bottom:8px}.result[data-v-f7289bb9] h1,.result[data-v-f7289bb9] h2,.result[data-v-f7289bb9] h3{margin:16px 0 8px}.result[data-v-f7289bb9] blockquote{border-left:4px solid #007bff;padding-left:12px;color:#666;margin:8px 0}.result[data-v-f7289bb9] table{border-collapse:collapse;width:100%;margin:8px 0}.result[data-v-f7289bb9] th,.result[data-v-f7289bb9] td{border:1px solid #ddd;padding:6px 10px;text-align:left}.result[data-v-f7289bb9] th{background:#f0f0f0}.error[data-v-f7289bb9]{color:#dc3545}.error[data-v-f7289bb9] *{color:inherit}.preview[data-v-f7289bb9]{display:block;max-width:100%;max-height:300px;margin-top:8px;border-radius:6px}.card[data-v-d8793fd0]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}h1[data-v-d8793fd0]{font-size:22px;margin-bottom:16px}label[data-v-d8793fd0]{display:block;margin:12px 0 4px;font-weight:500}input[type=text][data-v-d8793fd0]{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:14px}.row[data-v-d8793fd0]{display:flex;gap:12px}.field[data-v-d8793fd0]{flex:1}.field.wide[data-v-d8793fd0]{flex:3}.btn-row[data-v-d8793fd0]{margin-top:16px}button[data-v-d8793fd0]{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer}button[data-v-d8793fd0]:hover{background:#0056b3}button[data-v-d8793fd0]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-d8793fd0]{margin-top:14px;font-size:13px;color:#dc3545}.muted[data-v-d8793fd0]{color:#888;font-size:12px}.small[data-v-d8793fd0]{margin-top:6px}.list[data-v-d8793fd0]{margin-top:16px;display:flex;flex-direction:column;gap:8px}.sess-wrap[data-v-d8793fd0]{display:flex;flex-direction:column}.sess[data-v-d8793fd0]{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8f9fa;border-radius:6px;cursor:pointer}.sess[data-v-d8793fd0]:hover{background:#eef1f5}.sess.open[data-v-d8793fd0]{border-bottom-left-radius:0;border-bottom-right-radius:0;background:#e7f1ff}.sess-main[data-v-d8793fd0]{flex:1;min-width:0}.sess-title[data-v-d8793fd0]{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sess-meta[data-v-d8793fd0]{display:flex;gap:8px;align-items:center;margin-top:4px;overflow:hidden}.tag[data-v-d8793fd0]{font-size:11px;background:#e7f1ff;color:#007bff;border-radius:4px;padding:1px 6px;white-space:nowrap}.sess.open .tag[data-v-d8793fd0]{background:#fff}.chevron[data-v-d8793fd0]{color:#999;font-size:13px}.del-btn[data-v-d8793fd0]{padding:4px 10px;font-size:12px;background:transparent;color:#dc3545;border:1px solid #dc3545;border-radius:4px}.del-btn[data-v-d8793fd0]:hover{background:#dc3545;color:#fff}.chat-box[data-v-d8793fd0]{background:#fff;border:1px solid #e7f1ff;border-top:none;border-radius:0 0 6px 6px;padding:12px;display:flex;flex-direction:column;gap:8px;max-height:480px;overflow-y:auto}.bubble-row[data-v-d8793fd0]{display:flex}.bubble-row.user[data-v-d8793fd0]{justify-content:flex-end}.bubble-row.assistant[data-v-d8793fd0]{justify-content:flex-start}.bubble[data-v-d8793fd0]{max-width:85%;padding:8px 12px;border-radius:12px;font-size:14px;overflow-wrap:break-word}.bubble-row.user .bubble[data-v-d8793fd0]{background:#007bff;color:#fff;border-bottom-right-radius:2px}.bubble-row.assistant .bubble[data-v-d8793fd0]{background:#f1f3f5;color:#333;border-bottom-left-radius:2px}.bubble-row.user .muted[data-v-d8793fd0]{color:#ffffffbf}.bubble[data-v-d8793fd0] pre{background:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:6px;overflow-x:auto}.bubble[data-v-d8793fd0] code{font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:13px}.bubble-row.user .bubble[data-v-d8793fd0] a{color:#cfe3ff}.bubble[data-v-d8793fd0] p{margin-bottom:8px}.bubble[data-v-d8793fd0] p:last-child{margin-bottom:0}.bubble[data-v-d8793fd0] table{border-collapse:collapse;margin:8px 0}.bubble[data-v-d8793fd0] th,.bubble[data-v-d8793fd0] td{border:1px solid #ddd;padding:6px 10px;text-align:left}.bubble-row.user .bubble[data-v-d8793fd0] th,.bubble-row.user .bubble[data-v-d8793fd0] td{border-color:#fff6}.msg-imgs[data-v-d8793fd0]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.msg-imgs img[data-v-d8793fd0]{max-width:200px;max-height:200px;border-radius:6px;border:1px solid #ddd;cursor:zoom-in}.reply-row[data-v-d8793fd0]{display:flex;gap:8px;margin-top:4px}.reply-row input[data-v-d8793fd0]{flex:1;padding:8px 10px;border:1px solid #ccc;border-radius:8px;font-size:14px}.reply-row button[data-v-d8793fd0]{padding:8px 16px;font-size:14px}.paste-preview[data-v-d8793fd0]{position:relative;display:inline-block;margin-top:8px}.paste-preview img[data-v-d8793fd0]{max-width:160px;max-height:160px;border-radius:8px;border:1px solid #ddd}.paste-x[data-v-d8793fd0]{position:absolute;top:-8px;right:-8px;width:22px;height:22px;padding:0;font-size:14px;line-height:1;border-radius:50%;background:#666}.paste-x[data-v-d8793fd0]:hover{background:#333}.lightbox[data-v-d8793fd0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.lightbox img[data-v-d8793fd0]{max-width:92vw;max-height:92vh;border-radius:8px}.card[data-v-9b7e42a3]{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}h1[data-v-9b7e42a3]{font-size:22px;margin-bottom:8px}h2[data-v-9b7e42a3]{font-size:16px;margin:20px 0 4px}.hint[data-v-9b7e42a3]{font-size:13px;color:#888;margin-bottom:8px}label[data-v-9b7e42a3]{display:block;margin:12px 0 4px;font-weight:500}input[type=text][data-v-9b7e42a3],select[data-v-9b7e42a3]{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:14px}.row[data-v-9b7e42a3]{display:flex;gap:12px}.field[data-v-9b7e42a3]{flex:1}.btn-row[data-v-9b7e42a3]{margin-top:20px;display:flex;align-items:center;gap:12px}button[data-v-9b7e42a3]{padding:10px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer}button[data-v-9b7e42a3]:hover{background:#0056b3}button[data-v-9b7e42a3]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-9b7e42a3]{margin-top:14px;font-size:13px;color:#dc3545}.ok[data-v-9b7e42a3]{font-size:13px;color:#28a745}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
