diff --git a/.changeset/web-composer-mobile-shortcut-hints.md b/.changeset/web-composer-mobile-shortcut-hints.md new file mode 100644 index 0000000000..151c369c43 --- /dev/null +++ b/.changeset/web-composer-mobile-shortcut-hints.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code": patch +--- + +Remove the Enter/Ctrl+S shortcut hints from the mobile web composer: touch-primary devices disable both shortcuts, so the running placeholder and the queued-message steer label no longer advertise them. Ships the fork web bundle. diff --git a/.changeset/web-composer-mode-chips.md b/.changeset/web-composer-mode-chips.md new file mode 100644 index 0000000000..6edfa75dac --- /dev/null +++ b/.changeset/web-composer-mode-chips.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code": patch +--- + +Move the plan/goal mode pills out of the web composer's input row into the toolbar chip cluster next to swarm/supermoon, so typed text uses the full input width. Plan and goal stay mutually exclusive (arming one clears the other), and the mobile settings sheet gains a Goal mode toggle. Ships the fork web bundle. diff --git a/apps/kimi-code/dist-web/assets/DesignSystemView-CgaL5VJY.css b/apps/kimi-code/dist-web/assets/DesignSystemView-CgaL5VJY.css new file mode 100644 index 0000000000..c87b12572d --- /dev/null +++ b/apps/kimi-code/dist-web/assets/DesignSystemView-CgaL5VJY.css @@ -0,0 +1 @@ +.ds-page[data-v-68e41541]{--d-bg: var(--color-bg);--d-surface: var(--color-surface);--d-surface-2: var(--color-surface-sunken);--d-surface-3: var(--color-line);--d-fg: var(--color-text);--d-fg-soft: var(--color-text-muted);--d-fg-muted: var(--color-text-muted);--d-fg-faint: var(--color-text-faint);--d-line: var(--color-line);--d-line-2: var(--color-line);--d-accent: var(--color-accent);--d-accent-2: var(--color-accent-hover);--d-accent-soft: var(--color-accent-soft);--d-accent-bd: var(--color-accent-bd);--d-green: var(--color-success);--d-green-soft: var(--color-success-soft);--d-amber: var(--color-warning);--d-amber-soft: var(--color-warning-soft);--d-red: var(--color-danger);--d-red-soft: var(--color-danger-soft);--d-violet: var(--color-done);--d-code-bg: var(--color-surface-sunken);--d-sidebar: var(--color-surface);--d-shadow-sm: var(--shadow-sm);--d-shadow-md: var(--shadow-md);--d-shadow-lg: var(--shadow-lg);--sidebar-w: var(--p-sidebar-w);--content-max: var(--p-content-wide)}.ds-page[data-v-68e41541] *,.ds-page[data-v-68e41541] *:before,.ds-page[data-v-68e41541] *:after{box-sizing:border-box}.ds-page[data-v-68e41541]{scroll-behavior:smooth}.ds-page[data-v-68e41541]{margin:0;background:var(--d-bg);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1[data-v-68e41541],h2[data-v-68e41541],h3[data-v-68e41541],h4[data-v-68e41541]{color:var(--d-fg);letter-spacing:-.01em;line-height:1.25;margin:0}p[data-v-68e41541]{margin:0 0 14px;color:var(--d-fg-soft)}a[data-v-68e41541]{color:var(--d-accent-2);text-decoration:none}a[data-v-68e41541]:hover{text-decoration:underline}code[data-v-68e41541],pre[data-v-68e41541],.mono[data-v-68e41541]{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace}code[data-v-68e41541]{background:var(--d-code-bg);border:1px solid var(--d-line-2);border-radius:5px;padding:1px 6px;font-size:.88em;color:#1f2937;white-space:nowrap}.layout[data-v-68e41541]{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar[data-v-68e41541]{position:sticky;top:0;align-self:start;height:100vh;background:var(--d-sidebar);border-right:1px solid var(--d-line);padding:26px 22px;overflow-y:auto}.brand[data-v-68e41541]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.brand-mark[data-v-68e41541]{width:26px;height:26px;border-radius:7px;flex:none;background:var(--d-fg);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:-.04em}.brand-name[data-v-68e41541]{font-weight:700;font-size:15px;letter-spacing:-.01em}.brand-sub[data-v-68e41541]{font-size:12px;color:var(--d-fg-faint);margin-bottom:26px;padding-left:36px}.nav-group[data-v-68e41541]{margin:22px 0 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--d-fg-faint)}.p-section-label[data-v-68e41541]{font-size:12px;font-weight:400;text-transform:uppercase;color:var(--d-fg-faint)}.nav a[data-v-68e41541]{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--d-fg-soft);margin:1px 0;transition:background .15s,color .15s}.nav a .num[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--d-fg-faint);width:18px}.nav a[data-v-68e41541]:hover{background:var(--d-surface-2);color:var(--d-fg);text-decoration:none}.nav a.active[data-v-68e41541]{background:var(--d-accent-soft);color:var(--d-accent-2)}.nav a.active .num[data-v-68e41541]{color:var(--d-accent-2)}.content[data-v-68e41541]{min-width:0}.content-inner[data-v-68e41541]{max-width:var(--content-max);margin:0 auto;padding:64px 56px 120px}section[data-v-68e41541]{scroll-margin-top:32px;padding-top:8px}section+section[data-v-68e41541]{margin-top:72px}.hero[data-v-68e41541]{padding:8px 0 40px;border-bottom:1px solid var(--d-line);margin-bottom:56px}.eyebrow[data-v-68e41541]{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--d-fg);background:#1783ff1a;border:none;padding:6px 12px;border-radius:8px;margin-bottom:22px}.hero h1[data-v-68e41541]{font-size:48px;font-weight:600;line-height:1.08;letter-spacing:-.025em;margin-bottom:18px}.hero h1 .grad[data-v-68e41541]{color:var(--d-accent)}.hero p.lead[data-v-68e41541]{font-size:18px;line-height:1.6;color:var(--d-fg-soft);max-width:680px}.hero-meta[data-v-68e41541]{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.meta-chip[data-v-68e41541]{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--d-fg-muted);background:var(--d-surface);border:1px solid var(--d-line);border-radius:8px;padding:7px 12px}.meta-chip b[data-v-68e41541]{color:var(--d-fg);font-weight:600}.meta-chip .dot[data-v-68e41541]{width:7px;height:7px;border-radius:50%;background:var(--d-green)}.sec-head[data-v-68e41541]{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}.sec-num[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--d-accent-2)}.sec-title[data-v-68e41541]{font-size:26px;letter-spacing:-.02em}.sec-desc[data-v-68e41541]{font-size:15.5px;color:var(--d-fg-muted);max-width:720px;margin-bottom:28px}h3.sub[data-v-68e41541]{font-size:17px;margin:40px 0 14px;display:flex;align-items:center;gap:10px}h3.sub[data-v-68e41541]:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--d-accent)}h4.mini[data-v-68e41541]{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--d-fg-muted);margin:24px 0 12px}.stat-grid[data-v-68e41541]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.stat[data-v-68e41541]{background:var(--d-surface);border:1px solid var(--d-line);border-radius:14px;padding:18px 18px 16px}.stat .v[data-v-68e41541]{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--d-fg)}.stat .v small[data-v-68e41541]{font-size:16px;color:var(--d-fg-muted);font-weight:600}.stat .l[data-v-68e41541]{font-size:12.5px;color:var(--d-fg-muted);margin-top:8px;line-height:1.4}.stat.warn[data-v-68e41541]{background:var(--d-amber-soft);border-color:#f0d9b8}.stat.warn .v[data-v-68e41541]{color:var(--d-amber)}.stat.bad[data-v-68e41541]{background:var(--d-red-soft);border-color:#f0cccc}.stat.bad .v[data-v-68e41541]{color:var(--d-red)}.stat.good[data-v-68e41541]{background:var(--d-green-soft);border-color:#bfe3cc}.stat.good .v[data-v-68e41541]{color:var(--d-green)}.panel[data-v-68e41541]{background:var(--d-bg);border:1px solid var(--d-line);border-radius:16px;box-shadow:var(--d-shadow-sm)}.panel-pad[data-v-68e41541]{padding:22px}.panel-soft[data-v-68e41541]{background:var(--d-surface);border:1px solid var(--d-line);border-radius:14px}.callout[data-v-68e41541]{display:flex;gap:12px;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.55;background:var(--d-surface);border:1px solid var(--d-line);color:var(--d-fg-soft);margin:18px 0}.callout .ico[data-v-68e41541]{flex:none;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:800}.callout.info[data-v-68e41541]{background:var(--d-accent-soft);border-color:var(--d-accent-bd)}.callout.info .ico[data-v-68e41541]{background:var(--d-accent);color:#fff}.callout.warn[data-v-68e41541]{background:var(--d-amber-soft);border-color:#f0d9b8}.callout.warn .ico[data-v-68e41541]{background:var(--d-amber);color:#fff}.callout.good[data-v-68e41541]{background:var(--d-green-soft);border-color:#bfe3cc}.callout.good .ico[data-v-68e41541]{background:var(--d-green);color:#fff}table.dt[data-v-68e41541]{width:100%;border-collapse:collapse;font-size:13.5px;margin:16px 0}table.dt th[data-v-68e41541]{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--d-fg-faint);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--d-line)}table.dt td[data-v-68e41541]{padding:11px 12px;border-bottom:1px solid var(--d-line-2);color:var(--d-fg-soft);vertical-align:middle}table.dt tr:last-child td[data-v-68e41541]{border-bottom:none}table.dt td.tk[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--d-fg);white-space:nowrap}table.dt td.val[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-muted)}.swatch[data-v-68e41541]{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.08);vertical-align:-3px;margin-right:8px}.palette[data-v-68e41541]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.color-card[data-v-68e41541]{border:1px solid var(--d-line);border-radius:12px;overflow:hidden;background:var(--d-bg)}.color-chip[data-v-68e41541]{height:56px;border-bottom:1px solid var(--d-line)}.color-meta[data-v-68e41541]{padding:10px 12px 12px}.color-meta .cn[data-v-68e41541]{font-size:13px;font-weight:600;color:var(--d-fg)}.color-meta .cv[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--d-fg-muted);margin-top:2px}.type-row[data-v-68e41541]{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--d-line-2)}.type-row[data-v-68e41541]:last-child{border-bottom:none}.type-sample[data-v-68e41541]{flex:1;color:var(--d-fg);line-height:1.2}.type-meta[data-v-68e41541]{width:190px;flex:none;text-align:right;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-muted)}.space-row[data-v-68e41541]{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--d-line-2)}.space-row[data-v-68e41541]:last-child{border-bottom:none}.space-bar[data-v-68e41541]{height:18px;border-radius:4px;background:linear-gradient(90deg,var(--d-accent),var(--d-accent-2));flex:none}.space-meta[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--d-fg-soft);width:150px}.space-use[data-v-68e41541]{font-size:12.5px;color:var(--d-fg-muted)}.radius-grid[data-v-68e41541]{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;margin:16px 0}.radius-item[data-v-68e41541]{display:flex;flex-direction:column;align-items:center;gap:10px}.radius-box[data-v-68e41541]{width:64px;height:64px;border:2px solid var(--d-accent);background:var(--d-accent-soft)}.radius-item .rl[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-soft)}.stage-wrap[data-v-68e41541]{border:1px solid var(--d-line);border-radius:16px;overflow:hidden;margin:18px 0;background:var(--d-bg);box-shadow:var(--d-shadow-sm)}.stage-bar[data-v-68e41541]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--d-line);background:var(--d-surface)}.stage-bar .st[data-v-68e41541]{font-size:13px;font-weight:600;color:var(--d-fg);display:flex;align-items:center;gap:8px}.stage-bar .st .tag[data-v-68e41541]{font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px}.tag.after[data-v-68e41541]{background:var(--d-green-soft);color:var(--d-green)}.tag.before[data-v-68e41541]{background:var(--d-red-soft);color:var(--d-red)}.tag.spec[data-v-68e41541]{background:var(--d-accent-soft);color:var(--d-accent-2)}.stage-bar .sactions[data-v-68e41541]{display:flex;gap:6px}.tab[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:11.5px;padding:4px 10px;border-radius:6px;color:var(--d-fg-muted);cursor:default}.tab.on[data-v-68e41541]{background:var(--d-bg);color:var(--d-fg);border:1px solid var(--d-line)}.stage[data-v-68e41541]{padding:32px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.045) 1px,transparent 0) 0 0 / 18px 18px,var(--d-surface)}.stage.col[data-v-68e41541]{flex-direction:column;align-items:stretch}.stage.dark[data-v-68e41541]{background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0) 0 0 / 18px 18px,#0d1117}.stage-label[data-v-68e41541]{width:100%;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d-fg-faint);margin-bottom:-6px}.stage.dark .stage-label[data-v-68e41541]{color:#6b7280}.ba[data-v-68e41541]{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--d-line);border-radius:16px;overflow:hidden;margin:18px 0;box-shadow:var(--d-shadow-sm)}.ba-col[data-v-68e41541]{min-width:0}.ba-col+.ba-col[data-v-68e41541]{border-left:1px solid var(--d-line)}.ba-head[data-v-68e41541]{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--d-line)}.ba-head.before[data-v-68e41541]{background:var(--d-red-soft)}.ba-head.after[data-v-68e41541]{background:var(--d-green-soft)}.ba-head .bh[data-v-68e41541]{font-size:13px;font-weight:700}.ba-head.before .bh[data-v-68e41541]{color:var(--d-red)}.ba-head.after .bh[data-v-68e41541]{color:var(--d-green)}.ba-head .bh small[data-v-68e41541]{font-weight:500;opacity:.7;margin-left:6px}.ba-body[data-v-68e41541]{padding:24px;background:var(--d-surface);min-height:120px}.ba-col.after .ba-body[data-v-68e41541]{background:#fff}.code[data-v-68e41541]{background:#0d1117;border-radius:12px;overflow:hidden;margin:16px 0;border:1px solid #1c2128}.code-bar[data-v-68e41541]{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#161b22;border-bottom:1px solid #1c2128}.code-bar .d[data-v-68e41541]{width:10px;height:10px;border-radius:50%;background:#30363d}.code-bar .fn[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:11.5px;color:#8b949e;margin-left:4px}.code pre[data-v-68e41541]{margin:0;padding:18px;overflow-x:auto;font-size:12.5px;line-height:1.7;color:#c9d1d9}.code .c[data-v-68e41541]{color:#8b949e}.code .k[data-v-68e41541]{color:#ff7b72}.code .s[data-v-68e41541]{color:#a5d6ff}.code .p[data-v-68e41541]{color:#79c0ff}.code .n[data-v-68e41541]{color:#d2a8ff}.code .v[data-v-68e41541]{color:#ffa657}.pill[data-v-68e41541]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--d-line);background:var(--d-surface);color:var(--d-fg-soft)}.pill.blue[data-v-68e41541]{background:var(--d-accent-soft);border-color:var(--d-accent-bd);color:var(--d-accent-2)}.pill.green[data-v-68e41541]{background:var(--d-green-soft);border-color:#bfe3cc;color:var(--d-green)}.pill.amber[data-v-68e41541]{background:var(--d-amber-soft);border-color:#f0d9b8;color:var(--d-amber)}.pill.red[data-v-68e41541]{background:var(--d-red-soft);border-color:#f0cccc;color:var(--d-red)}.pill.mono[data-v-68e41541]{font-family:JetBrains Mono,monospace}ul.clean[data-v-68e41541]{list-style:none;padding:0;margin:14px 0}ul.clean li[data-v-68e41541]{position:relative;padding:8px 0 8px 26px;color:var(--d-fg-soft);border-bottom:1px solid var(--d-line-2)}ul.clean li[data-v-68e41541]:last-child{border-bottom:none}ul.clean li[data-v-68e41541]:before{content:"";position:absolute;left:4px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--d-accent)}ul.clean.check li[data-v-68e41541]:before{content:"✓";background:none;color:var(--d-green);font-weight:800;top:7px;left:0;font-size:14px}ul.clean.cross li[data-v-68e41541]:before{content:"✕";background:none;color:var(--d-red);font-weight:800;top:7px;left:0;font-size:13px}ul.clean li b[data-v-68e41541]{color:var(--d-fg)}ul.clean li .path[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-muted)}.roadmap[data-v-68e41541]{position:relative;margin:24px 0}.phase[data-v-68e41541]{position:relative;display:grid;grid-template-columns:120px 1fr;gap:24px;padding:0 0 32px}.phase[data-v-68e41541]:not(:last-child):after{content:"";position:absolute;left:59px;top:36px;bottom:0;width:2px;background:var(--d-line)}.phase-tag[data-v-68e41541]{text-align:right;padding-top:4px}.phase-tag .pt[data-v-68e41541]{display:inline-block;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:var(--d-accent-2);background:var(--d-accent-soft);border:1px solid var(--d-accent-bd);padding:5px 10px;border-radius:8px}.phase-tag .pe[data-v-68e41541]{font-size:11.5px;color:var(--d-fg-faint);margin-top:8px}.phase-body[data-v-68e41541]{background:var(--d-bg);border:1px solid var(--d-line);border-radius:14px;padding:18px 20px;box-shadow:var(--d-shadow-sm)}.phase-body h4[data-v-68e41541]{font-size:16px;margin-bottom:8px}.phase-body p[data-v-68e41541]{font-size:14px;margin-bottom:12px}.phase-body ul[data-v-68e41541]{margin:0}.matrix[data-v-68e41541]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.anti[data-v-68e41541]{border:1px solid var(--d-line);border-radius:12px;padding:16px;background:var(--d-bg)}.anti .ah[data-v-68e41541]{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;margin-bottom:8px}.anti .ah .verdict[data-v-68e41541]{margin-left:auto;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}.verdict.pass[data-v-68e41541]{background:var(--d-green-soft);color:var(--d-green)}.verdict.fail[data-v-68e41541]{background:var(--d-red-soft);color:var(--d-red)}.verdict.warn[data-v-68e41541]{background:var(--d-amber-soft);color:var(--d-amber)}.anti p[data-v-68e41541]{font-size:13px;margin:0;color:var(--d-fg-muted)}.footer[data-v-68e41541]{margin-top:80px;padding-top:28px;border-top:1px solid var(--d-line);font-size:13px;color:var(--d-fg-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.kbd[data-v-68e41541]{font-family:JetBrains Mono,monospace;font-size:11px;background:var(--d-surface-2);border:1px solid var(--d-line);border-bottom-width:2px;border-radius:5px;padding:1px 6px}@media(max-width:980px){.layout[data-v-68e41541]{grid-template-columns:1fr}.sidebar[data-v-68e41541]{position:static;height:auto}.nav[data-v-68e41541]{display:flex;flex-wrap:wrap;gap:4px}.content-inner[data-v-68e41541]{padding:40px 22px 80px}.stat-grid[data-v-68e41541]{grid-template-columns:repeat(2,1fr)}.ba[data-v-68e41541]{grid-template-columns:1fr}.ba-col+.ba-col[data-v-68e41541]{border-left:none;border-top:1px solid var(--d-line)}.palette[data-v-68e41541]{grid-template-columns:repeat(2,1fr)}.matrix[data-v-68e41541]{grid-template-columns:1fr}}.ds-page .p[data-v-68e41541],.ds-page .stage.p-skin[data-v-68e41541],.ds-page [data-p][data-v-68e41541]{--p-font-sans: var(--font-ui);--p-font-mono: var(--font-mono);--p-bg: var(--color-bg);--p-surface: var(--color-surface);--p-surface-raised: var(--color-surface-raised);--p-surface-sunken: var(--color-surface-sunken);--p-text: var(--color-text);--p-text-muted: var(--color-text-muted);--p-text-faint: var(--color-text-faint);--p-text-on-accent: var(--color-text-on-accent);--p-line: var(--color-line);--p-line-strong: var(--color-line-strong);--p-accent: var(--color-accent);--p-accent-hover: var(--color-accent-hover);--p-accent-soft: var(--color-accent-soft);--p-accent-bd: var(--color-accent-bd);--p-success: var(--color-success);--p-success-soft: var(--color-success-soft);--p-success-bd: var(--color-success-bd);--p-warning: var(--color-warning);--p-warning-soft: var(--color-warning-soft);--p-warning-bd: var(--color-warning-bd);--p-danger: var(--color-danger);--p-danger-soft: var(--color-danger-soft);--p-danger-bd: var(--color-danger-bd);--p-info: var(--color-info);--p-sp-1: var(--space-1);--p-sp-2: var(--space-2);--p-sp-3: var(--space-3);--p-sp-4: var(--space-4);--p-sp-5: var(--space-5);--p-sp-6: var(--space-6);--p-sp-8: var(--space-8);--p-r-xs: var(--radius-xs);--p-r-sm: var(--radius-sm);--p-r-md: var(--radius-md);--p-r-lg: var(--radius-lg);--p-r-xl: var(--radius-xl);--p-r-2xl: var(--radius-2xl);--p-r-full: var(--radius-full);--p-sh-xs: var(--shadow-xs);--p-sh-sm: var(--shadow-sm);--p-sh-md: var(--shadow-md);--p-sh-lg: var(--shadow-lg);--p-sh-xl: var(--shadow-xl);--p-font-size-xs: var(--text-xs);--p-font-size-sm: var(--text-sm);--p-font-size-base: var(--text-base);--p-font-size-md: var(--text-base);--p-font-size-lg: var(--text-lg);--p-font-size-xl: var(--text-xl);--p-font-size-2xl: var(--text-2xl);--p-leading-tight: var(--leading-tight);--p-leading-normal: var(--leading-normal);--p-leading-relaxed: var(--leading-relaxed);--p-ease: var(--ease-out);--p-ease-inout: var(--ease-in-out);--p-dur-fast: var(--duration-fast);--p-dur: var(--duration-base);--p-dur-slow: var(--duration-slow);font-family:var(--font-ui);color:var(--color-text);font-size:var(--text-base)}.ds-page [data-p=dark][data-v-68e41541]{--p-bg: #0d1117;--p-surface: #161b22;--p-surface-raised: #1c2128;--p-surface-sunken: #0d1117;--p-text: #c9cdd4;--p-text-muted: #9aa0a8;--p-text-faint: #6b7280;--p-text-on-accent: #ffffff;--p-line: #2d333b;--p-line-strong: #3d444d;--p-accent: #58a6ff;--p-accent-hover: #79b8ff;--p-accent-soft: rgba(88,166,255,.14);--p-accent-bd: rgba(88,166,255,.28);--p-success: #3fb950;--p-success-soft: rgba(63,185,80,.14);--p-success-bd: rgba(63,185,80,.28);--p-warning: #d29922;--p-warning-soft: rgba(210,153,34,.14);--p-warning-bd: rgba(210,153,34,.28);--p-danger: #f85149;--p-danger-soft: rgba(248,81,73,.14);--p-danger-bd: rgba(248,81,73,.28);--p-sh-sm: 0 1px 2px rgba(0,0,0,.4);--p-sh-md: 0 4px 12px rgba(0,0,0,.45);--p-sh-lg: 0 12px 32px rgba(0,0,0,.55);--p-selection: rgba(88,166,255,.32)}.p-ic[data-v-68e41541]{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle}.p-btn[data-v-68e41541]{--_h: 36px;--_px: 16px;--_fs: var(--p-font-size-base);--_r: var(--p-r-md);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--_h);padding:0 var(--_px);border-radius:var(--_r);font-family:var(--p-font-sans);font-size:var(--_fs);font-weight:600;line-height:1;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease),box-shadow var(--p-dur) var(--p-ease),transform var(--p-dur-fast) var(--p-ease)}.p-btn[data-v-68e41541]:active{transform:scale(.98)}.p-btn[data-v-68e41541]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--p-accent-soft),0 0 0 1px var(--p-accent)}.p-btn .p-ic[data-v-68e41541]{width:16px;height:16px}.p-btn.sm[data-v-68e41541]{--_h: 30px;--_px: 12px;--_fs: var(--p-font-size-sm);--_r: var(--p-r-sm)}.p-btn.sm .p-ic[data-v-68e41541]{width:14px;height:14px}.p-btn.lg[data-v-68e41541]{--_h: 42px;--_px: 20px;--_fs: var(--p-font-size-md);--_r: var(--p-r-lg)}.p-btn.primary[data-v-68e41541]{background:var(--p-accent);color:var(--p-text-on-accent);border-color:var(--p-accent);box-shadow:var(--p-sh-xs)}.p-btn.primary[data-v-68e41541]:hover{background:var(--p-accent-hover);border-color:var(--p-accent-hover)}.p-btn.secondary[data-v-68e41541]{background:var(--p-surface-raised);color:var(--p-text);border-color:var(--p-line-strong);box-shadow:var(--p-sh-xs)}.p-btn.secondary[data-v-68e41541]:hover{background:var(--p-surface-sunken);border-color:var(--p-line-strong)}.p-btn.ghost[data-v-68e41541]{background:transparent;color:var(--p-text);border-color:transparent}.p-btn.ghost[data-v-68e41541]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-btn.danger[data-v-68e41541]{background:var(--p-danger);color:#fff;border-color:var(--p-danger);box-shadow:var(--p-sh-xs)}.p-btn.danger[data-v-68e41541]:hover{filter:brightness(.96)}.p-btn.danger-soft[data-v-68e41541]{background:var(--p-danger-soft);color:var(--p-danger);border-color:var(--p-danger-bd)}.p-btn.danger-soft[data-v-68e41541]:hover{background:var(--p-danger);color:#fff;border-color:var(--p-danger)}.p-btn[disabled][data-v-68e41541],.p-btn.disabled[data-v-68e41541]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.p-icon-btn[data-v-68e41541]{--_s: 32px;display:inline-grid;place-items:center;width:var(--_s);height:var(--_s);flex:none;border-radius:var(--p-r-md);border:1px solid transparent;background:transparent;color:var(--p-text-muted);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-icon-btn[data-v-68e41541]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-icon-btn[data-v-68e41541]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--p-accent-soft)}.p-icon-btn.sm[data-v-68e41541]{--_s: 26px;border-radius:var(--p-r-sm)}.p-icon-btn.lg[data-v-68e41541]{--_s: 44px}.p-icon-btn .p-ic[data-v-68e41541]{width:16px;height:16px}.p-icon-btn.lg .p-ic[data-v-68e41541]{width:20px;height:20px}.p-badge[data-v-68e41541]{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--p-r-full);font-family:var(--p-font-sans);font-size:var(--p-font-size-xs);font-weight:600;line-height:1;border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-text);white-space:nowrap}.p-badge.sm[data-v-68e41541]{height:18px;padding:0 7px;font-size:11px}.p-badge .bd[data-v-68e41541]{width:7px;height:7px;border-radius:50%;background:currentColor}.p-badge.neutral[data-v-68e41541]{background:var(--p-surface-sunken);border-color:var(--p-line);color:var(--p-text-muted)}.p-badge.info[data-v-68e41541]{background:var(--p-accent-soft);border-color:var(--p-accent-bd);color:var(--p-accent-hover)}.p-badge.success[data-v-68e41541]{background:var(--p-success-soft);border-color:var(--p-success-bd);color:var(--p-success)}.p-badge.warning[data-v-68e41541]{background:var(--p-warning-soft);border-color:var(--p-warning-bd);color:var(--p-warning)}.p-badge.danger[data-v-68e41541]{background:var(--p-danger-soft);border-color:var(--p-danger-bd);color:var(--p-danger)}.p-badge.solid[data-v-68e41541]{background:var(--p-text);color:var(--p-bg);border-color:var(--p-text)}.p-badge .p-ic[data-v-68e41541]{width:12px;height:12px}.p-kbd[data-v-68e41541]{display:inline-flex;align-items:center;gap:3px}.p-kbd kbd[data-v-68e41541]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--p-line);border-bottom-width:2px;border-radius:var(--p-r-xs);background:var(--p-surface-sunken);color:var(--p-text-muted);font-family:var(--p-font-sans);font-size:11px;line-height:1}.p-pill[data-v-68e41541]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--p-r-md);border:1px solid transparent;background:transparent;font-family:var(--p-font-sans);font-size:var(--p-font-size-sm);font-weight:500;color:var(--p-text);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-pill[data-v-68e41541]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-pill .pp-strong[data-v-68e41541]{font-weight:700;color:var(--p-text)}.p-pill .pp-sub[data-v-68e41541]{color:var(--p-accent);font-weight:600}.p-pill .p-ic[data-v-68e41541]{width:14px;height:14px;color:var(--p-text-faint)}.p-card[data-v-68e41541]{background:var(--p-surface);border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden;color:var(--p-text)}.p-card.interactive[data-v-68e41541]{transition:background var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease);cursor:pointer}.p-card.interactive[data-v-68e41541]:hover{background:var(--p-surface);border-color:var(--p-line-strong)}.p-card-head[data-v-68e41541]{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--p-line);background:var(--p-surface)}.p-card-title[data-v-68e41541]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text);font-family:var(--p-font-mono)}.p-card-body[data-v-68e41541]{padding:14px;font-size:var(--p-font-size-base);color:var(--p-text);line-height:var(--p-leading-normal)}.p-card-foot[data-v-68e41541]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--p-line);background:var(--p-surface)}.p-field[data-v-68e41541]{display:flex;flex-direction:column;gap:6px}.p-label[data-v-68e41541]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-input[data-v-68e41541],.p-select[data-v-68e41541],.p-textarea[data-v-68e41541]{width:100%;height:38px;padding:0 12px;border-radius:var(--p-r-md);border:1px solid var(--p-line-strong);background:var(--p-surface-raised);font-family:var(--p-font-sans);font-size:var(--p-font-size-base);color:var(--p-text);box-shadow:var(--p-sh-xs);transition:border-color var(--p-dur) var(--p-ease),box-shadow var(--p-dur) var(--p-ease)}.p-textarea[data-v-68e41541]{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:var(--p-leading-normal)}.p-input[data-v-68e41541]:hover,.p-select[data-v-68e41541]:hover,.p-textarea[data-v-68e41541]:hover{border-color:var(--p-line-strong)}.p-input[data-v-68e41541]:focus,.p-select[data-v-68e41541]:focus,.p-textarea[data-v-68e41541]:focus{outline:none;border-color:var(--p-accent);box-shadow:0 0 0 3px var(--p-accent-soft)}.p-input[data-v-68e41541]::placeholder,.p-textarea[data-v-68e41541]::placeholder{color:var(--p-text-faint)}.p-input.sm[data-v-68e41541]{height:32px;font-size:var(--p-font-size-sm);border-radius:var(--p-r-sm)}.p-hint[data-v-68e41541]{font-size:var(--p-font-size-xs);color:var(--p-text-faint)}.p-dialog[data-v-68e41541]{width:480px;max-width:calc(100vw - 48px);background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-xl);box-shadow:var(--p-sh-xl);overflow:hidden;color:var(--p-text)}.p-dialog-head[data-v-68e41541]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px}.p-dialog-title[data-v-68e41541]{font-size:var(--p-font-size-lg);font-weight:700;letter-spacing:-.01em}.p-dialog-desc[data-v-68e41541]{font-size:var(--p-font-size-base);color:var(--p-text-muted);margin-top:4px;line-height:var(--p-leading-normal)}.p-dialog-body[data-v-68e41541]{padding:4px 22px 18px}.p-dialog-foot[data-v-68e41541]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.p-toast[data-v-68e41541]{display:flex;align-items:flex-start;gap:11px;width:360px;padding:13px 14px;background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-lg);box-shadow:var(--p-sh-md)}.p-toast .ti[data-v-68e41541]{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none;margin-top:1px}.p-toast.success .ti[data-v-68e41541]{background:var(--p-success-soft);color:var(--p-success)}.p-toast.warning .ti[data-v-68e41541]{background:var(--p-warning-soft);color:var(--p-warning)}.p-toast .tt[data-v-68e41541]{font-size:var(--p-font-size-base);font-weight:600;color:var(--p-text)}.p-toast .td[data-v-68e41541]{font-size:var(--p-font-size-sm);color:var(--p-text-muted);margin-top:2px;line-height:1.45}.p-spinner[data-v-68e41541]{width:18px;height:18px;animation:p-spin-68e41541 .85s linear infinite}.p-spinner.sm[data-v-68e41541]{width:14px;height:14px}.p-spinner circle[data-v-68e41541]{fill:none;stroke-width:2.2;stroke-linecap:round}.p-spinner .track[data-v-68e41541]{stroke:var(--p-line)}.p-spinner .arc[data-v-68e41541]{stroke:var(--p-accent);stroke-dasharray:56 56;stroke-dashoffset:38}@keyframes p-spin-68e41541{to{transform:rotate(360deg)}}.p-thinking[data-v-68e41541]{display:inline-flex;align-items:center;gap:9px;font-size:var(--p-font-size-sm);color:var(--p-text-muted);font-family:var(--p-font-sans)}.p-bubble-user[data-v-68e41541]{align-self:flex-end;max-width:78%;background:var(--p-accent-soft);border:1px solid var(--p-accent-bd);color:var(--p-text);border-radius:18px 18px 5px;padding:11px 15px;font-size:var(--p-font-size-md);line-height:var(--p-leading-normal);box-shadow:var(--p-sh-xs)}.p-msg[data-v-68e41541]{max-width:760px;font-size:var(--p-font-size-md);line-height:var(--p-leading-relaxed);color:var(--p-text)}.p-msg p[data-v-68e41541]{margin:0 0 10px;color:var(--p-text)}.p-msg code[data-v-68e41541]{font-family:var(--p-font-mono);background:var(--p-surface-sunken);border:1px solid var(--p-line);color:var(--p-accent-hover);padding:1px 6px;border-radius:5px;font-size:.9em}.p-agent[data-v-68e41541]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden}.p-agent-head[data-v-68e41541]{display:flex;align-items:center;gap:10px;padding:11px 14px}.p-agent-av[data-v-68e41541]{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--p-surface-sunken);border:1px solid var(--p-line);color:var(--p-text-muted);flex:none}.p-agent-name[data-v-68e41541]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-agent-phase[data-v-68e41541]{font-size:var(--p-font-size-xs);color:var(--p-text-muted)}.p-agent-body[data-v-68e41541]{padding:0 14px 13px}.p-tool[data-v-68e41541]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden}.p-tool-head[data-v-68e41541]{display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--p-surface);border-bottom:1px solid var(--p-line)}.p-tool-ic[data-v-68e41541]{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:var(--p-accent-soft);color:var(--p-accent);flex:none}.p-tool-name[data-v-68e41541]{font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-tool-body[data-v-68e41541]{padding:12px 13px}.p-code[data-v-68e41541]{font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);line-height:1.65;background:var(--p-surface-sunken);border:1px solid var(--p-line);border-radius:var(--p-r-md);padding:11px 13px;color:var(--p-text);overflow-x:auto}.p-action[data-v-68e41541]{border-radius:var(--p-r-md);overflow:hidden;border:1px solid var(--p-accent-bd);background:var(--p-surface)}.p-action.warn[data-v-68e41541]{border-color:var(--p-warning-bd)}.p-action-head[data-v-68e41541]{display:flex;align-items:center;gap:9px;padding:10px 14px;background:var(--p-accent-soft);border-bottom:1px solid var(--p-accent-bd)}.p-action.warn .p-action-head[data-v-68e41541]{background:var(--p-warning-soft);border-bottom-color:var(--p-warning-bd)}.p-action-title[data-v-68e41541]{font-size:var(--p-font-size-base);font-weight:600;color:var(--p-accent-hover)}.p-action.warn .p-action-title[data-v-68e41541]{color:var(--p-warning)}.p-action-body[data-v-68e41541]{padding:14px;font-size:var(--p-font-size-base);color:var(--p-text);line-height:var(--p-leading-normal)}.p-action-foot[data-v-68e41541]{display:flex;justify-content:flex-end;gap:8px;padding:11px 14px;border-top:1px solid var(--p-line);background:var(--p-surface)}.p-todo[data-v-68e41541]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-md);padding:6px}.p-todo-row[data-v-68e41541]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--p-r-md);font-size:var(--p-font-size-base);color:var(--p-text)}.p-todo-row.done[data-v-68e41541]{color:var(--p-text-faint);text-decoration:line-through}.p-todo-row.active[data-v-68e41541]{background:var(--p-accent-soft);color:var(--p-text)}.p-todo-check[data-v-68e41541]{width:16px;flex:none;font-size:var(--p-font-size-base);line-height:1;text-align:center;user-select:none;color:var(--p-text-faint)}.p-todo-row.done .p-todo-check[data-v-68e41541]{color:var(--p-success)}.p-todo-row.active .p-todo-check[data-v-68e41541]{color:var(--p-accent);font-weight:500}.p-dot[data-v-68e41541]{width:7px;height:7px;border-radius:50%;flex:none;background:var(--p-text-faint)}.p-dot.done[data-v-68e41541]{background:var(--p-success)}.p-dot.error[data-v-68e41541]{background:var(--p-danger)}.p-dot.running[data-v-68e41541]{background:var(--p-accent);box-shadow:0 0 0 0 var(--p-accent-soft);animation:p-pulse-68e41541 1.4s ease-out infinite}@keyframes p-pulse-68e41541{0%{box-shadow:0 0 #1783ff66}to{box-shadow:0 0 0 6px #1783ff00}}.p-tool-group[data-v-68e41541]{border:1px solid var(--p-line);border-radius:var(--p-r-md);background:var(--p-surface);overflow:hidden}.p-tool-group-head[data-v-68e41541]{display:flex;align-items:center;gap:8px;height:32px;padding:0 11px;cursor:pointer;font-size:var(--p-font-size-sm);color:var(--p-text-muted);user-select:none}.p-tool-group-head[data-v-68e41541]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-tool-group-head .tg-title[data-v-68e41541]{font-weight:600;color:var(--p-text)}.p-tool-group-head .tg-meta[data-v-68e41541]{color:var(--p-text-faint)}.p-tool-group-head .tg-car[data-v-68e41541]{margin-left:auto;width:14px;height:14px;color:var(--p-text-faint);transition:transform var(--p-dur) var(--p-ease)}.p-tool-group.open .p-tool-group-head .tg-car[data-v-68e41541]{transform:rotate(90deg)}.p-tool-row[data-v-68e41541]{display:flex;align-items:center;gap:8px;height:30px;padding:0 11px;border-top:1px solid var(--p-line-2, var(--p-line));cursor:pointer;font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);color:var(--p-text)}.p-tool-row[data-v-68e41541]:hover{background:var(--p-surface-sunken)}.p-tool-row .tr-ic[data-v-68e41541]{width:14px;height:14px;color:var(--p-text-faint);flex:none}.p-tool-row .tr-name[data-v-68e41541]{font-weight:600;color:var(--p-text);flex:none}.p-tool-row .tr-arg[data-v-68e41541]{color:var(--p-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.p-tool-row .tr-time[data-v-68e41541]{margin-left:auto;color:var(--p-text-faint);font-size:var(--p-font-size-xs);flex:none}.p-tool-row .tr-car[data-v-68e41541]{width:13px;height:13px;color:var(--p-text-faint);flex:none;transition:transform var(--p-dur) var(--p-ease)}.p-tool-row.expanded[data-v-68e41541]{background:var(--p-surface-sunken)}.p-tool-row.expanded .tr-car[data-v-68e41541]{transform:rotate(90deg)}.p-tool-detail[data-v-68e41541]{padding:0 11px 11px;background:var(--p-surface-sunken);border-top:1px solid var(--p-line)}.p-tool-detail .p-code[data-v-68e41541]{margin-top:10px}.p-composer[data-v-68e41541]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-xl);box-shadow:var(--p-sh-md);overflow:hidden}.p-composer[data-v-68e41541]:focus-within{border-color:var(--p-accent);box-shadow:var(--p-sh-md),0 0 0 3px var(--p-accent-soft)}.p-composer-ta[data-v-68e41541]{padding:14px 16px 8px;font-family:var(--p-font-sans);font-size:var(--p-font-size-md);color:var(--p-text);line-height:var(--p-leading-normal)}.p-composer-ta.ph[data-v-68e41541]{color:var(--p-text-faint)}.p-composer-bar[data-v-68e41541]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 8px}.p-composer-left[data-v-68e41541],.p-composer-right[data-v-68e41541]{display:flex;align-items:center;gap:2px}.p-send[data-v-68e41541]{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--p-accent);color:var(--p-text-on-accent);border:none;cursor:pointer;box-shadow:var(--p-sh-xs);transition:transform var(--p-dur-fast) var(--p-ease),background var(--p-dur) var(--p-ease)}.p-send[data-v-68e41541]:hover{background:var(--p-accent-hover)}.p-send[data-v-68e41541]:active{transform:scale(.92)}.p-send .p-ic[data-v-68e41541]{width:16px;height:16px}.p[data-v-68e41541] ::selection,[data-p][data-v-68e41541] ::selection{background:var(--p-selection)}.p-link[data-v-68e41541]{color:var(--p-accent);text-decoration:none;font-family:var(--p-font-sans);transition:color var(--p-dur) var(--p-ease)}.p-link[data-v-68e41541]:hover{color:var(--p-accent-hover);text-decoration:underline}.p-link[data-v-68e41541]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--p-r-xs)}.p-link.muted[data-v-68e41541]{color:var(--p-text-muted)}.p-link.muted[data-v-68e41541]:hover{color:var(--p-text)}.p-link .p-ic[data-v-68e41541]{width:var(--p-ic-sm);height:var(--p-ic-sm);vertical-align:-2px}.p-menu[data-v-68e41541]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-lg);box-shadow:var(--p-sh-sm);padding:var(--p-sp-1);min-width:180px;font-family:var(--p-font-sans);color:var(--p-text)}.p-menu-item[data-v-68e41541]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--p-r-sm);font-size:var(--p-font-size-sm);color:var(--p-text);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-menu-item[data-v-68e41541]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-menu-item.active[data-v-68e41541],.p-menu-item.active[data-v-68e41541]:hover{background:var(--p-accent-soft);color:var(--p-accent-hover)}.p-menu-item.danger[data-v-68e41541]{color:var(--p-danger)}.p-menu-item.danger[data-v-68e41541]:hover{background:var(--p-danger-soft);color:var(--p-danger)}.p-menu-item.disabled[data-v-68e41541]{opacity:.5;cursor:not-allowed}.p-menu-item.disabled[data-v-68e41541]:hover{background:transparent;color:var(--p-text)}.p-menu-item .p-ic[data-v-68e41541]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.p-menu-item.lg[data-v-68e41541]{min-height:44px;padding:12px 14px;font-size:var(--p-font-size-base)}.p-menu-sep[data-v-68e41541]{height:1px;background:var(--p-line);margin:4px 0}.p-seg[data-v-68e41541]{display:inline-flex;gap:2px;padding:2px;background:var(--p-surface-sunken);border:1px solid var(--p-line);border-radius:var(--p-r-md);font-family:var(--p-font-sans)}.p-seg-item[data-v-68e41541]{padding:5px 12px;border-radius:var(--p-r-sm);font-size:var(--p-font-size-sm);font-weight:500;color:var(--p-text);cursor:pointer;white-space:nowrap;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease),box-shadow var(--p-dur) var(--p-ease)}.p-seg-item[data-v-68e41541]:hover{color:var(--p-text)}.p-seg-item.on[data-v-68e41541]{background:var(--p-surface-raised);color:var(--p-text);box-shadow:var(--p-sh-xs)}.p-tabs[data-v-68e41541]{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--p-line);font-family:var(--p-font-sans)}.p-tab[data-v-68e41541]{padding:8px 14px;font-size:var(--p-font-size-sm);font-weight:500;color:var(--p-text-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease)}.p-tab[data-v-68e41541]:hover{color:var(--p-text)}.p-tab.on[data-v-68e41541]{color:var(--p-accent);border-bottom-color:var(--p-accent)}.p-switch[data-v-68e41541]{position:relative;display:inline-block;width:36px;height:20px;flex:none;border-radius:var(--p-r-full);background:var(--p-line-strong);cursor:pointer;transition:background var(--p-dur) var(--p-ease)}.p-switch[data-v-68e41541]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--p-r-full);background:var(--surface-light);box-shadow:var(--p-sh-xs);transition:transform var(--p-dur) var(--p-ease)}.p-switch.on[data-v-68e41541]{background:var(--p-accent)}.p-switch.on[data-v-68e41541]:after{background:var(--p-text-on-accent);transform:translate(16px)}.p-switch[data-v-68e41541]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.p-check[data-v-68e41541]{width:17px;height:17px;flex:none;display:inline-grid;place-items:center;border:1.5px solid var(--p-line-strong);border-radius:var(--p-r-sm);background:var(--p-surface-raised);color:var(--p-text-on-accent);cursor:pointer;transition:background var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease)}.p-check.on[data-v-68e41541]{background:var(--p-accent);border-color:var(--p-accent)}.p-check[data-v-68e41541]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.p-check .p-ic[data-v-68e41541]{width:12px;height:12px}.p-avatar[data-v-68e41541]{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:var(--p-r-md);background:var(--p-surface-sunken);border:1px solid var(--p-line);color:var(--p-text-muted);font-size:var(--p-font-size-sm);font-weight:600}.p-avatar.sm[data-v-68e41541]{width:24px;height:24px;border-radius:var(--p-r-sm);font-size:var(--p-font-size-xs)}.p-avatar .p-ic[data-v-68e41541]{width:16px;height:16px}.p-avatar.sm .p-ic[data-v-68e41541]{width:13px;height:13px}.p-empty[data-v-68e41541]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--p-text-muted);text-align:center}.p-empty .em-ic[data-v-68e41541]{width:48px;height:48px;color:var(--p-text-faint)}.p-empty .em-title[data-v-68e41541]{font-size:var(--p-font-size-base);font-weight:600;color:var(--p-text)}.p-empty .em-hint[data-v-68e41541]{font-size:var(--p-font-size-sm);color:var(--p-text-muted)}.p-divider[data-v-68e41541]{width:100%;height:1px;background:var(--p-line);border:none}.p-divider-v[data-v-68e41541]{width:1px;align-self:stretch;background:var(--p-line);border:none}.p-tip[data-v-68e41541]{position:relative;display:inline-flex}.p-tip .p-tooltip[data-v-68e41541]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--p-text);color:var(--p-bg);font-size:var(--p-font-size-xs);padding:4px 8px;border-radius:var(--p-r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--p-dur-fast) var(--p-ease)}.p-tip:hover .p-tooltip[data-v-68e41541]{opacity:1}.p-banner[data-v-68e41541]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--p-r-md);border:1px solid var(--p-line);background:var(--p-surface);font-size:var(--p-font-size-sm);color:var(--p-text)}.p-banner .bn-ic[data-v-68e41541]{width:18px;height:18px;flex:none}.p-banner.info[data-v-68e41541]{background:var(--p-accent-soft);border-color:var(--p-accent-bd)}.p-banner.info .bn-ic[data-v-68e41541]{color:var(--p-accent)}.p-banner.warning[data-v-68e41541]{background:var(--p-warning-soft);border-color:var(--p-warning-bd)}.p-banner.warning .bn-ic[data-v-68e41541]{color:var(--p-warning)}.p-banner.danger[data-v-68e41541]{background:var(--p-danger-soft);border-color:var(--p-danger-bd)}.p-banner.danger .bn-ic[data-v-68e41541]{color:var(--p-danger)}.p-sheet[data-v-68e41541]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-xl) var(--p-r-xl) 0 0;box-shadow:var(--p-sh-xl);padding:8px 16px 20px}.p-sheet-handle[data-v-68e41541]{width:36px;height:4px;border-radius:var(--p-r-full);background:var(--p-line-strong);margin:0 auto 8px}.p-skeleton[data-v-68e41541]{background:var(--p-surface-sunken);border-radius:var(--p-r-sm);animation:p-skel-68e41541 1.2s var(--p-ease-inout) infinite alternate}@keyframes p-skel-68e41541{0%{opacity:.5}to{opacity:1}}.p-cmdbar[data-v-68e41541]{display:flex;align-items:center;gap:8px;width:100%}.p-cmd[data-v-68e41541]{flex:1;min-width:0;height:38px;display:flex;align-items:center;gap:10px;padding:0 10px 0 14px;background:var(--p-surface-sunken);border:1px solid var(--p-line);border-radius:var(--p-r-md);font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);color:var(--p-text-muted)}.p-cmd .cmd-text[data-v-68e41541]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-cmd .cmd-copy[data-v-68e41541]{margin-left:auto;flex:none;display:grid;place-items:center;width:26px;height:26px;border:none;background:transparent;border-radius:var(--p-r-sm);color:var(--p-text-faint);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-cmd .cmd-copy[data-v-68e41541]:hover{background:var(--p-surface-raised);color:var(--p-text)}.p-cmd .cmd-copy .p-ic[data-v-68e41541]{width:15px;height:15px}.p-topbar[data-v-68e41541]{display:flex;align-items:center;justify-content:space-between;gap:12px;height:48px;padding:0 16px;background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-lg)}.p-topbar .tb-title[data-v-68e41541]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-topbar .tb-actions[data-v-68e41541]{display:flex;align-items:center;gap:4px}.p-topbar.frost[data-v-68e41541]{background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#fff9}[data-p=dark] .p-topbar.frost[data-v-68e41541]{background:#161b22b8;border-color:#ffffff14}.demo-family-black[data-v-68e41541]{--p-accent: #14171c;--p-accent-hover: #2f3540;--p-accent-soft: #f1f2f4;--p-accent-bd: #d8dbe0;--p-text-on-accent: #ffffff}.demo-row[data-v-68e41541]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.demo-stack[data-v-68e41541]{display:flex;flex-direction:column;gap:12px;width:100%}.demo-col[data-v-68e41541]{display:flex;flex-direction:column;gap:10px}.demo-grow[data-v-68e41541]{flex:1;min-width:0}.demo-chat[data-v-68e41541]{display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px}.icon-grid[data-v-68e41541]{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin:14px 0}.icon-group-label[data-v-68e41541]{grid-column:1 / -1;margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--d-fg-muted)}.icon-cell[data-v-68e41541]{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--d-line);border-radius:8px;background:var(--d-surface)}.icon-cell .kw-icon[data-v-68e41541]{width:20px;height:20px;color:var(--d-fg-soft)}.icon-cell .ic-name[data-v-68e41541]{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--d-fg)}.icon-sizes[data-v-68e41541]{display:flex;align-items:end;gap:22px;flex-wrap:wrap}.icon-sizes .sz[data-v-68e41541]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;color:var(--d-fg-muted);font-family:JetBrains Mono,ui-monospace,monospace}.p-code-inline[data-v-68e41541]{font-family:var(--p-font-mono);background:var(--p-surface-sunken);color:var(--p-text);padding:0 5px;border-radius:var(--p-r-sm);font-size:.9em}.p-code-block[data-v-68e41541]{border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden;background:var(--p-surface-sunken)}.p-code-block-head[data-v-68e41541]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--p-surface);border-bottom:1px solid var(--p-line);font-family:var(--p-font-mono);font-size:var(--p-font-size-xs);color:var(--p-text-muted)}.p-code-block pre[data-v-68e41541]{margin:0;padding:12px 14px;font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);line-height:1.65;color:var(--p-text);overflow-x:auto}.p-diff[data-v-68e41541]{border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden;font-family:var(--p-font-mono);font-size:var(--p-font-size-sm)}.p-diff-head[data-v-68e41541]{padding:8px 12px;background:var(--p-surface);border-bottom:1px solid var(--p-line);font-size:var(--p-font-size-xs);color:var(--p-text-muted)}.p-diff-row[data-v-68e41541]{display:flex;gap:10px;padding:2px 12px;line-height:1.6}.p-diff-row .pm[data-v-68e41541]{width:14px;flex:none;color:var(--p-text-faint)}.p-diff-row.add[data-v-68e41541]{background:var(--p-success-soft)}.p-diff-row.add .pm[data-v-68e41541]{color:var(--p-success)}.p-diff-row.del[data-v-68e41541]{background:var(--p-danger-soft)}.p-diff-row.del .pm[data-v-68e41541]{color:var(--p-danger)}.p-diff-row .p-diff-code[data-v-68e41541]{color:var(--p-text)}.p-field-error[data-v-68e41541]{color:var(--p-danger);font-size:var(--p-font-size-xs)}.p-btn .p-spinner[data-v-68e41541]{vertical-align:middle}.p-btn .p-spinner .track[data-v-68e41541]{stroke:currentColor;opacity:.35}.p-btn .p-spinner .arc[data-v-68e41541]{stroke:currentColor}.ds-page[data-v-68e41541]{position:fixed;inset:0;z-index:var(--z-max);overflow-y:auto}.ds-topbar[data-v-68e41541]{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-line)}.ds-back[data-v-68e41541]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer}.ds-back[data-v-68e41541]:hover{background:var(--color-surface-sunken)}.ds-topbar-title[data-v-68e41541]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)} diff --git a/apps/kimi-code/dist-web/assets/DesignSystemView-CsDeDsyo.js b/apps/kimi-code/dist-web/assets/DesignSystemView-CsDeDsyo.js deleted file mode 100644 index 5bbb0f26cc..0000000000 --- a/apps/kimi-code/dist-web/assets/DesignSystemView-CsDeDsyo.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as w,I as y,a as x}from"./index-pE-bC6n5.js";import{d as k,h as C,R as z,o as d,c as s,a as t,V as e,J as i,F as r,r as u,E as g,b as S,u as q}from"./vendor-ucnN-Sh8.js";import"./vendor-markstream-D6yjq9lL.js";import"./vendor-katex-Com_2SPi.js";const T={class:"ds-page"},B={class:"layout"},A={class:"content"},I={class:"content-inner"},M={id:"tokens"},H={class:"icon-sizes"},V={class:"sz"},L={class:"p-ic",style:{width:"14px",height:"14px"},viewBox:"0 0 24 24",fill:"currentColor"},D={class:"sz"},U={class:"p-ic",style:{width:"16px",height:"16px"},viewBox:"0 0 24 24",fill:"currentColor"},W={class:"sz"},R={class:"p-ic",style:{width:"20px",height:"20px"},viewBox:"0 0 24 24",fill:"currentColor"},P={class:"icon-grid"},N={class:"icon-group-label"},K={class:"ic-name"},O={id:"primitives"},E={class:"stage-wrap"},j={class:"stage p col"},_={class:"demo-row"},F={class:"p-btn primary disabled"},G={class:"p-spinner sm",viewBox:"0 0 24 24",style:{"--p-accent":"#fff","--p-line":"rgba(255,255,255,.35)"}},J={class:"stage-wrap"},Q={class:"stage p col",style:{gap:"0",background:"var(--p-surface)",padding:"0","max-width":"300px","align-items":"stretch"}},Y={style:{display:"flex","align-items":"center",gap:"8px",padding:"7px 10px",margin:"1px 6px","border-radius":"8px",color:"var(--p-text)","font-size":"13px"}},Z={style:{color:"var(--d-fg-faint)",flex:"none"},width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},$={style:{display:"flex","align-items":"center",gap:"8px",padding:"7px 10px",margin:"1px 6px","border-radius":"8px",color:"var(--p-text)","font-size":"13px"}},X={style:{color:"var(--d-fg-faint)",flex:"none"},width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},aa={id:"chat"},ta={class:"stage-wrap"},da={class:"stage p col",style:{"align-items":"center",background:"#fff"}},sa={class:"demo-chat"},ea={class:"p-action"},oa={class:"p-action-head"},ia={class:"p-ic",style:{color:"var(--p-accent)"},viewBox:"0 0 24 24",fill:"currentColor"},la={class:"p-action warn"},na={class:"p-action-head"},va={class:"p-ic",style:{color:"var(--p-warning)"},viewBox:"0 0 24 24",fill:"currentColor"},ca=k({__name:"DesignSystemView",emits:["close"],setup(ra,{emit:m}){const f=m;function b(){f("close")}let c=null;function p(v){v.key==="Escape"&&b()}return C(()=>{document.addEventListener("keydown",p);const v=Array.prototype.slice.call(document.querySelectorAll('#nav a[href^="#"]')),a=new Map;v.forEach(n=>{const o=n.getAttribute("href");if(!o)return;const h=document.getElementById(o.slice(1));h&&a.set(h,n)});let l=null;c=new IntersectionObserver(n=>{n.forEach(o=>{o.isIntersecting&&(l&&l.classList.remove("active"),l=a.get(o.target)??null,l&&l.classList.add("active"))})},{rootMargin:"-20% 0px -70% 0px",threshold:0}),a.forEach((n,o)=>c.observe(o)),v.length&&v[0].classList.add("active")}),z(()=>{document.removeEventListener("keydown",p),c&&(c.disconnect(),c=null)}),(v,a)=>(d(),s("div",T,[t("div",{class:"ds-topbar"},[t("button",{class:"ds-back",type:"button",onClick:b},"← Back"),a[0]||(a[0]=t("span",{class:"ds-topbar-title"},"Design system",-1))]),t("div",B,[a[38]||(a[38]=e('',1)),t("main",A,[t("div",I,[a[36]||(a[36]=e('
● Design System · v1.0

Kimi Web Design System

This document defines the visual language and component specification for Kimi Web — design tokens, component primitives, the chat interface, theming, and style rules. All UI work is grounded in it: unified, restrained, token-driven, and themeable.

Scope apps/kimi-webComponent primitivesTheme 1 set · 4 customizable colorsLight / dark mode
i
This spec is the single reference when changing the web UI. Before adding or modifying a component, style, layout, or theme, read this document first; color, font, radius, spacing, shadow, z-index, and motion always use the §02 tokens, components reuse the §03 primitives, and the §06 style rules are followed.
01

Design Principles

Every UI decision traces back to the following principles. Kimi Web is a local Agent tool for developers: quick scanning, long stretches of staring, often in the dark — the design serves the task, and is restrained, clinical, and density-first.

Brand tone (the do-not list): calm, clinical, never exaggerated. Reject purple gradients, glassmorphism, glowing shadows, AI purple / blue glows, endlessly looping fussy micro-animations, "Boost your productivity"-style marketing copy, and using emoji as icons — the moon phases 🌑…🌘 are the sole exception, used only in the "waiting for the Agent to respond" chat state, as a brand signature. These are all common tells of AI-generated interfaces (an "AI tell"), deliberately avoided.
i
Declare design intent first (Design Read): before adding a component / page, write one sentence describing its scenario, audience, and tone (for example, "a lightweight tool card embedded in a conversation, for developers, calm and restrained"), then build. If the intent isn't clear, ask one question first rather than defaulting to the nearest existing style.
',2)),t("section",M,[a[7]||(a[7]=e(`
02

Design Tokens

Collapse every visual decision into tokens. Color tokens keep the existing short names and fill out the semantics (lowering migration cost), while spacing, z-index, motion, and font-weight fill in the scales that are currently missing. Every token has: name, light value, dark value, and usage.

i
Naming convention: --<category>-<role>-<state>. For example --color-text-muted, --radius-md, --space-4. To reduce churn, the existing short names (--bg / --ink / --line / --blue …) are kept as compatibility aliases for one release cycle.

Color

Semantic-first, in three layers: background / text / border + accent + status colors. All colors are defined in light / dark pairs, with contrast ≥ 4.5:1.

i
The table below shows the derived semantic tokens. The neutrals and the accent are derived from the 4 color seeds in §05 — for example --color-accent comes from --accent-primary, and --color-bg comes from the current light / dark surface. The semantic status colors (success / warning / danger / info) are independent palettes paired with the seeds, one set each for light / dark; they are not auto-derived from the seeds. Day-to-day reskinning usually only needs the 4 seeds, with the status colors fine-tuned as needed.
bg
#ffffff / #0d1117
surface
#fafbfc / #161b22
surface-sunken
#f3f5f8 / #0d1117
selected
#eceff3 / #2d333b
fg
#14171c / #e8eaed
fg-muted
#6b7280 / #9aa0a8
line
#e7eaee / #2d333b
accent (KMBlue)
#1783ff / #58a6ff
accent-soft
#e8f3ff / rgba(88,166,255,.14)
TokenLightDarkUsage
--color-bg#ffffff#0d1117Page background
--color-surface#fafbfc#161b22Panel / sidebar / card head
--color-surface-raised#ffffff#1c2128Raised card / dialog / input
--color-text#14171c#e8eaedBody text / headings
--color-text-muted#6b7280#9aa0a8Secondary text / placeholder
--color-line#e7eaee#2d333bDivider / card border
--color-selected#00000014#ffffff14Neutral selected fill (sidebar rows, list pickers) — translucent, never accent-tinted
--color-hover#0000000d#ffffff0dRow hover wash — lighter than the selected fill (hover < selected); translucent, sits on any surface
--color-media-alpha-bg-1≈#858585≈#676b72Checkerboard square A of the <img> alpha canvas — color-mix of --color-bg/--color-text (52/48); applied via --media-alpha-canvas (16px period)
--color-media-alpha-bg-2≈#6b6b6b≈#7a7e85Checkerboard square B (42/58) — both squares stay ≥3:1 against white and black; opaque images cover the canvas
--color-sidebar-bg#fbfaf9#181817Sidebar surface — one step off --color-bg so the session column reads as its own plane
--color-accent#1783ff#58a6ffPrimary action / link / focus
--color-success#0e7a38#3fb950Success / pass
--color-warning#a9610a#d29922Warning / pending
--color-danger#c0392b#f85149Danger / error / abort

Surface usage

The four surface layers each have a role — choose by "raised layer / default flat layer / sunken layer / page background", and avoid treating --p-surface-raised as a universal background.

TokenLightDarkUsage
--p-surface-raised#ffffff#1c2128Raised card / dialog / input (raised layer)
--p-surface#fafbfc#161b22Panel / sidebar / card head (default flat layer)
--p-surface-sunken#f3f5f8#0d1117Code block / inline input / recessed area (sunken layer)
--p-bg#ffffff#0d1117Page background

Focus ring

All focusable controls (button, input, link, menu item, switch, checkbox) use the focus-ring token uniformly; do not hand-write a box-shadow focus ring.

TokenValueUsage
--p-focus-ring0 0 0 3px var(--p-accent-soft)Default focus ring (link, menu item, switch, checkbox)
--p-focus-ring-strong0 0 0 3px var(--p-accent-soft), 0 0 0 1px var(--p-accent)Strong focus ring (button, primary action)

Text selection

The text-selection color uses --p-selection uniformly (light rgba(23,131,255,.18) / dark rgba(88,166,255,.32)), applied by the global ::selection rule; do not set a separate highlight background.

Disabled state

All disabled controls use opacity:.5 + cursor:not-allowed uniformly; do not separately grey out or recolor.

Font families

Kimi Web uses two font families: --font-ui (UI and body, Inter first) and --font-mono (code and monospace). Components always reference the variables; do not hard-code font names.

--font-ui · UI & body (Inter first)

Body and UI use self-hosted Inter as the primary face. CJK and platform system UI fonts sit late in the fallback chain so Latin glyphs resolve to Inter while Chinese text can fall through to native CJK fonts:

--font-ui
--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial,
-      "PingFang SC", "Microsoft YaHei", "Noto Sans SC",
-      -apple-system, BlinkMacSystemFont, "Segoe UI",
-      Roboto, Ubuntu, sans-serif,
-      "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";

--font-mono · Code & monospace

Code, tool names, line numbers, diffs, etc. use JetBrains Mono (a self-hosted variable font), falling back to the system monospace:

--font-mono
--font-mono: "JetBrains Mono Variable", "JetBrains Mono",
-      ui-monospace, "SF Mono", Menlo, Consolas, monospace;

Loading strategy

FontSourceBundledUsage
JetBrains Mono@fontsource-variable/jetbrains-mono✓ self-hostedmonospace / code (--font-mono)
Inter@fontsource-variable/inter/opsz.css + opsz-italic.css✓ self-hostedUI / body / display (--font-ui, --font-display), wght 100-900, opsz 14-32, normal + italic
System UI / CJK fontsoperating systemlate fallback for UI / body, not bundled
Self-hosted Inter / JetBrains Mono: no external network requests, no FOUT, works offline; system fonts are not bundled, consistent with the local-first approach.

Usage rules

Type scale & weight

The user font-size preference writes --base-ui-font-size. Compact UI chrome and the sidebar follow it through --ui-font-size, while chat reading surfaces derive one readable step above it through --content-font-size.

The fixed product type tokens still define component defaults: UI controls / buttons / forms use --text-base (14px); reading body — including chat Markdown, message bubbles, etc. stays one step larger than compact chrome for readability; the sidebar session list follows that same readable step while keeping list density. Drop stray font-weight: 650 / 750; converge on two weights, 400 / 500 (regular / emphasis).

Page Title
--text-2xl · 22 / 500
Section Title
--text-xl · 18 / 500
Chat body / card title
--text-lg · 16 / 400
UI control / button / form
--text-base · 14 / 500
Helper text / table
--text-sm · 13 / 400
Badge / timestamp / line number
--text-xs · 12 / 500
TokenValueUsage
--font-ui"Inter Variable", "Inter", "Helvetica Neue", Arial…UI & body (Inter first)
--font-monoJetBrains Mono…code, tool names, line numbers, diffs
--base-ui-font-size14px user preferenceroot setting that drives UI, reading body, and sidebar font sizes
--content-font-sizecalc(base + 1px)chat Markdown, message bubbles, composer
--leading-tight/normal/relaxed1.25 / 1.5 / 1.7headings / UI / long text
--weight-regular/medium400 / 500body / emphasis

Icon size

Icons use three size tokens uniformly. The global .p-ic default is 16px (--p-ic-md); components pick as needed, and random pixel sizes are forbidden.

TokenValueUsage
--p-ic-sm14pxsmall button, badge, menu item, inline link icon
--p-ic-md16pxdefault (button, icon button, toolbar)
--p-ic-lg20pxToast status icon, empty-state illustration

Icon

Icons always come from the centralized registry lib/icons.ts: in templates use the <Icon name size /> component (components/ui/Icon.vue); for v-html contexts (such as a tool glyph) use iconSvg(name, size). Do not hand-write <svg> — the scripts/check-style.mjs icon-from-registry rule flags stray SVGs. Icons come from Remix Icon (Apache-2.0), uniformly in a fill style (fill="currentColor", 24×24 source grid), with color following the text; size uses the three tokens below. The registry is bundled on demand by unplugin-icons at build time from @iconify-json/ri — only icons imported in lib/icons.ts end up in the production bundle, fully offline and tree-shaken. The whole site uses only this one icon family; do not mix in other icon libraries, and never hand-write SVG paths. When an icon is missing, add it to the registry — two static ~icons/ri/* imports (component + ?raw string) plus one entry in ICONS in lib/icons.ts; the import names (e.g. RiFolderOpenLine / RawFolderOpenLine) show the ri: icon id. Do not draw it in a component.

Size scale

`,43)),t("div",H,[t("div",V,[(d(),s("svg",L,[...a[1]||(a[1]=[t("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])),a[2]||(a[2]=i("sm · 14",-1))]),t("div",D,[(d(),s("svg",U,[...a[3]||(a[3]=[t("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])),a[4]||(a[4]=i("md · 16",-1))]),t("div",W,[(d(),s("svg",R,[...a[5]||(a[5]=[t("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])),a[6]||(a[6]=i("lg · 20",-1))])]),a[8]||(a[8]=t("h4",{class:"mini"},"Icon library",-1)),a[9]||(a[9]=t("p",null,[i("Currently registered icons, grouped by purpose. The display order and grouping are defined by "),t("code",null,"ICON_GROUPS"),i(" in "),t("code",null,"lib/icons.ts"),i(" (a hand-maintained array covering the same icon names), and this catalog is rendered directly from that array so the registry and the document never drift.")],-1)),t("div",P,[(d(!0),s(r,null,u(q(y),([l,n])=>(d(),s(r,{key:l},[t("div",N,g(l),1),(d(!0),s(r,null,u(n,o=>(d(),s("div",{key:o,class:"icon-cell"},[S(w,{name:o},null,8,["name"]),t("span",K,g(o),1)]))),128))],64))),128))]),a[10]||(a[10]=e('

Do not use emoji as functional icons (the sole exception is the moon phases 🌑…🌘, used only in the "waiting for the Agent to respond" chat state). The Kimi brand mark (the 32×22 eye logo) is a brand asset and is not part of this icon system.

A few special graphics are not in the registry; each has a dedicated component maintained in one place, and must not be copied by hand: <ContextRing :pct /> (the Composer context progress ring, data-driven), <AuthStateIcon kind /> (the success / expired / error colored illustrations in the login flow), <Spinner /> (loading state). Status dots (such as in the Provider list) always use CSS dots (border-radius:50%), not SVG. The scripts/check-style.mjs icon-from-registry rule exempts the above and the brand mark; all other hand-written <svg> is flagged.

Spacing

A 4px base grid. All spacing, gaps, and padding inside and outside components come from this scale — no arbitrary pixels.

--space-1 · 4
icon gap, badge padding
--space-2 · 8
control gap, small padding
--space-3 · 12
button padding, form-item gap
--space-4 · 16
card padding, grid gap
--space-5 · 20
dialog padding
--space-6 · 24
section gap
--space-8 · 32
large section gap

Dense list (sidebar / file tree)

High-density navigation lists like the sidebar share one rhythm, all on the 4px grid: in-row vertical padding --space-1 (4px), no margin between rows (the hover pill provides the separation); section gap (between logo / search / action buttons / group title / list) uniformly --space-2 (8px); between groups --space-2; the brand header is slightly looser at the top (--space-3). When building similar lists, reuse this scale — do not hand-write 1/6/7/10px.

Radius

Merge the existing 14 values into the nearest of 7 scale steps. Rule: the component type determines the radius, not the author's feel.

xs · 4
sm · 6
md · 8
lg · 12
xl · 16
2xl · 20
full · 999
TokenValueUsageMerged from
--radius-xs4pxsmall badge, inline tag2/3/4px →
--radius-sm6pxsmall button, icon button, menu item5/6px →
--radius-md8pxbutton, input, badge, card7/8/9px →
--radius-lg12pxdropdown panel10/12px →
--radius-xl16pxdialog, bottom Sheet, Composer14/16px →
--radius-2xl20pxaccent container / large panel20px
--radius-full999pxpill badge, avatar, send button999px / 50%

Elevation & z-index

Shadows express only "elevation", never decoration (no colored glow). z-index is unified into a scale, eradicating 9999-style one-upping.

sm · dropdown menu / sticky
md · Toast
lg · overlay (reserved)
xl · dialog
Z-index TokenValueUsage
--z-base0normal flow
--z-sticky100sticky header / sidebar
--z-dropdown200dropdown menu / tooltip
--z-overlay300overlay / bottom Sheet
--z-modal400dialog
--z-toast600toast
--z-max9999reserved: only this tier for extreme fallback

Motion

TokenValueUsage
--ease-outcubic-bezier(0.16, 1, 0.3, 1)enter, hover, expand
--ease-in-outcubic-bezier(0.4, 0, 0.2, 1)panel width, layout changes
--duration-fast120mspress, focus
--duration-base160mshover, show/hide
--duration-slow260msdialog, Sheet, layout

Reduced motion

i
Under @media (prefers-reduced-motion: reduce), all animation and transition durations drop to about 0.001ms (effectively off), and the MoonSpinner moon phase pauses on the current frame. Components should not check this individually; it is handled uniformly in the global styles.

Layout & breakpoints

Layout sizes and responsive breakpoints are tokenized too: sidebar width, content reading-column width, and two global breakpoints. Components should not hard-code pixels.

TokenValueUsage
--p-sidebar-w264pxleft session sidebar width
--p-content-max760pxchat reading-column max width (regular chat prose)
--p-content-wide920pxwide content (settings / panel)
--p-table-max1040pxdesktop wide-table max width (see §04)
--p-table-cell-max700pxmax width of a single table column; longer cell content wraps (see §04)
--p-bp-sm640pxmobile / desktop boundary
--p-bp-md980pxnarrow / wide screen boundary; consumed in JS as the NARROW_QUERY matchMedia constant (CSS media queries can't reference tokens)
i
At ≤640px: dialogs become bottom Sheets, the sidebar collapses into an expandable drawer, and Composer toolbar controls are allowed to wrap. At 641–980px: the sidebar auto-collapses (user-expandable), right detail panels open as full-screen overlays, and composer menus clamp to the viewport.
',23))]),t("section",O,[a[21]||(a[21]=e(`
03

Primitives

Component primitives are the "smallest correct units" of the site UI. Each primitive exposes variants along only two dimensions — variant / size — with appearance driven by tokens, so it naturally supports light / dark mode and customizable theme colors.

i
For every interactive primitive, the keyboard behavior, focus, and ARIA contract are in §08 Accessibility. New primitives must ship with a keyboard model — mouse-only interaction is not enough.

Component selection guide

ScenarioUse
Primary action (submit / confirm)Button variant=primary
Secondary action / cancelButton secondary / ghost
Destructive action (delete / abort)Button danger / danger-soft
Status markerBadge
Toolbar filter / model switchPill
2–4 mutually exclusive optionsSegmentedControl
Top tabsTabs
Switch / multi-selectSwitch / Checkbox
Floating content card / list action menuCard / Menu
Inline notice / global toastBanner / Toast
Dialog / confirmation · bottom panel (mobile)Dialog / Sheet

Button

4 semantic variants × 3 sizes. The primary action primary takes its color from the current theme color (§05 can switch between the blue and black families). Radius uses --radius-md uniformly (small size --radius-sm), weight 600, with a visible focus ring.

Variant matrix lightpreview
medium · default
small
With icon / state
Dark skin dark

API

Button.vue · usage
<Button variant="primary" size="md" :loading="submitting">Save</Button>
-    // variant: primary | secondary | ghost | danger | danger-soft
-    // size:    sm | md | lg
States

IconButton

Unified into three sizes — 26 / 32 / 44px — with a light-grey hover background and a visible focus ring. Replaces the ad-hoc icon + click areas scattered across components today.

IconButton
i
The desktop IconButton comes in sm 26 / md 32; on touch devices the tap target should be ≥ 44px, so use lg 44px, satisfying the §01 accessibility principle (the mobile three-piece set uses lg).

Badge · Chip · Pill

Collapsed into two kinds: Badge (status badge, with an optional status dot) and Pill (the clickable pill in the composer toolbar). Radius, font size, and padding are all unified.

Badge · status badge
Semantic variants
pendingrunningcompletedneeds confirmationfailedKIMI
With icon / small size
planpassedread-only
Pill · toolbar pill (composer)
kimi-k2· thinkingyolo12k / 200k

Kbd · keyboard shortcut

Kbd renders a shortcut as keycaps — one block per key, never inline text like (⌘K). Caps are 18px tall (Badge sm rhythm): sunken surface, 1px border with a 2px bottom edge, 11px UI font, muted text. Typical placement: pushed to the row's trailing edge, opposite the label (e.g. the sidebar search row).

Kbd · keycaps
KCtrlKP

Card / Surface

All cards across the site share one shell: flat, 1px border, --radius-md radius, no shadow. The structure is split into three parts — head / body / foot. Cards differ only in the head — in two tiers by visual weight, while the shell stays consistent:

Operation card · compact mono head (no fill)
read_filesession.ts
The head uses mono + a neutral background to emphasize its "code / process" nature; the body uses sans for readability. Flat, radius-md, same shape as the tool group and Agent group.
Attention card · semantic color-band head (accent / warning)
A decision needs your confirmationquestion
The head uses a semantic light background (accent-soft / warning-soft) to stand out from the message stream, signaling that the user must step in. The shell is exactly the same as the operation card.
Group · the container owns the border, rows are separated by hairlines
3 tool calls· completed
read_filesession.ts
grep"jwt" · 4 hits

Input / Select / Textarea

Unified 38px height (32px small), --radius-md radius, --color-surface-raised background, and a unified blue focus ring (0 0 0 3px accent-soft).

Form primitives
Only letters, numbers, and hyphens are allowed.
States
Please enter a valid workspace name
Normal state · validation passed

Code / Diff

Inline code, code blocks, and diffs all use the monospace font (--p-font-mono). Code blocks have a filename title bar and a copy button. Diffs use + / - row colors to express additions and deletions — additions use a success light background, deletions use a danger light background, with no gradients.

Code / Diff
inline code
The server uses jwt.verify(token) to verify the signature, returning 401 on failure.
code block
session.ts
import { verify } from './jwt';
-
-    export function auth(token: string) {
-      return verify(token, process.env.JWT_SECRET!);
-    }
diff
session.ts · +3 -1
import { verify } from './jwt';
-const secret = 'dev-secret';
+const secret = process.env.JWT_SECRET!;
return verify(token, secret);

Dialog

One dialog primitive replaces 6 hand-written implementations: unified --radius-xl radius, --shadow-xl shadow, 20px head padding, right-aligned footer actions, and an IconButton close button.

Dialog primitive
New chat
Create an independent Agent chat in the current workspace.
i
Size & height: Dialog offers three widths — md 440 / lg 640 / xl 760 (--p-content-max) — chosen by content weight. Height comes in two kinds: auto (default, grows with content up to max-height) and fixed (constant height min(680px, 100vh - 64px), with overflow scrolled inside the body). Content / multi-tab dialogs (settings, model picker, provider manager, folder browser) always use fixed so the frame size stays constant and doesn't jump when switching tabs or content length; short confirmation dialogs keep auto.

Toast

Unified information architecture: status icon + title + description. The status color appears only on the icon, avoiding large colored areas that create visual noise.

Toast
Connected to server
The local daemon is responding normally; you can start a new chat.
Context usage 82%
Consider running /compact to free up space.

Spinner

Loaders fall into two categories by scenario — do not mix them:

Spinner · plain loader (default)

`,48)),t("div",E,[a[14]||(a[14]=t("div",{class:"stage-bar"},[t("span",{class:"st"},"Spinner · common scenarios")],-1)),t("div",j,[t("div",_,[a[13]||(a[13]=e('Loading…',2)),t("button",F,[(d(),s("svg",G,[...a[11]||(a[11]=[t("circle",{class:"track",cx:"12",cy:"12",r:"9"},null,-1),t("circle",{class:"arc",cx:"12",cy:"12",r:"9"},null,-1)])])),a[12]||(a[12]=i("Submitting",-1))])])])]),a[22]||(a[22]=e('

MoonSpinner · moon phase (only "waiting for the Agent")

MoonSpinner · chat waiting state only signature
Frame loop (8 frames)
🌑🌒🌓🌔🌕🌖🌗🌘
Usage · only while the chat waits for a response
🌔Thinking…🌕Waiting for response…
i
The moon phase is the sole exception to the emoji-as-icon rule, and is limited to the "waiting for the Agent's first response" scenario. It is currently implemented twice — in MoonSpinner.vue and ActivityNotice.vue — and should be merged into a single MoonSpinner component, sized via tokens and supporting prefers-reduced-motion. All other loading states use the plain Spinner.

Link

Inline text link: the default is the accent color with no underline; on hover it shows an underline and darkens. The .muted variant uses the secondary text color. Used for in-text jumps, external links, "view all", and other lightweight actions.

Link · inline link
Read the full design token docs before building.View on GitHubView history

Menu / Dropdown

Dropdown menu panel: raised surface + border + light shadow (--shadow-sm, flat-leaning). Menu items support icons, the current (active) state, the danger state, and the disabled state, with separators grouping items. On touch / mobile, use lg (≥44px row height) for menu items.

Menu · dropdown menu
Open file
Selected item
Disabled item
Delete chat

SegmentedControl

Mutually exclusive short option groups, commonly used for 2–4 option switches such as "light / dark / follow system". The current item is highlighted with a raised surface + subtle shadow.

SegmentedControl
LightDarkFollow system

Tabs

Tabs with a bottom hairline, used for grouping and switching sibling content. The current tab is marked with accent text + an accent underline.

Tabs
GeneralAgentAdvanced

Switch

A two-state switch for settings that take effect immediately. 36×20 track with full radius, 16px knob; when on, the track turns accent and the knob slides right, with the transition driven by tokens.

Switch

Checkbox

A 17×17 checkbox. When checked it fills with the accent color and shows a white tick (inline SVG). Often paired with a text label.

Checkbox

Avatar

A 32px default avatar with md radius; .sm is 24px. Can hold an initial or an icon; falls back to this placeholder when there is no image.

Avatar
KK

EmptyState

A centered placeholder for empty lists / panels: a 48px faint icon + title + hint, avoiding blank pages.

EmptyState
No chats yet
Click "New chat" to start a conversation with Kimi

Divider

A 1px horizontal divider (--p-line); .p-divider-v is the vertical divider, used between inline elements.

Divider
Content above

Content below
kimi-k2thinking

Tooltip

A CSS-only hover hint, wrapped in .p-tip. Inverted background (--p-text / --p-bg), single line, no wrapping — carries only short notes.

Tooltip (hover the button)
New chat

Banner

An inline notice bar placed at the top of a content area. Three states — .info / .warning / .danger — each with a matching 18px icon.

Banner
Connected to server
Currently in yolo mode; tool calls will run automatically

Sheet / BottomSheet

A mobile bottom slide-up panel: xl top radius + drag handle, xl shadow. At ≤640px, dialogs become bottom-anchored Sheets.

BottomSheet
Choose a model
kimi-k2 · thinking
kimi-k2 · instant

Skeleton

A placeholder for loading content, using a breathing opacity animation (no gradients), following the no-gradient-text rule. Composed into titles / text lines / avatars.

Skeleton

Command Bar

An inline combination of "primary action + command text + copy", sitting between a button and a code block — used for install / onboarding / one-click execution. The primary action reuses Button primary; the command area uses a mono light-grey background.

Command Bar
curl -fsSL https://code.kimi.com/install.sh | bash

TopBar

The application top bar. Solid by default; the .frost variant is translucent + background blur, used only for sticky navigation bars, and is the sole exception to the no-glassmorphism rule (see §06).

TopBar · solid / frosted glass
Solid TopBar
Frosted-glass TopBar · .frost

SectionLabel

A small group title for sidebar lists, used to section the content below (such as Workspaces in the sidebar). Spec: 13px / 700 / uppercase / letter-spacing .08em, color --color-fg-faint; left-aligned to the row's starting padding (--sb-pad-x), keeping the same indent as the group rows below. For scripts without case (such as Chinese), text-transform:uppercase simply has no effect — no special handling needed.

',50)),t("div",J,[a[20]||(a[20]=t("div",{class:"stage-bar"},[t("span",{class:"st"},"Sidebar · group title")],-1)),t("div",Q,[a[19]||(a[19]=t("div",{class:"p-section-label",style:{padding:"12px 16px 4px"}},"Workspaces",-1)),t("div",Y,[(d(),s("svg",Z,[...a[15]||(a[15]=[t("path",{fill:"currentColor",d:"M4 5v14h16V7h-8.414l-2-2zm8.414 0H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])),a[16]||(a[16]=i(" kimi-code-web ",-1))]),t("div",$,[(d(),s("svg",X,[...a[17]||(a[17]=[t("path",{fill:"currentColor",d:"M4 5v14h16V7h-8.414l-2-2zm8.414 0H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])),a[18]||(a[18]=i(" playground ",-1))])])])]),t("section",aa,[a[34]||(a[34]=e('
04

Chat Interface Overhaul

The message stream is the core of Kimi Web. The goal of the overhaul: have the 6 card types (Agent / Tool / Question / Approval / Swarm / Todo) share one card skeleton, distinguished only by the head icon and semantic color; and collapse the Composer into a single rounded container.

Unified message stream

',3)),t("div",ta,[a[33]||(a[33]=t("div",{class:"stage-bar"},[t("span",{class:"st"},"Conversation · 760px reading column")],-1)),t("div",da,[t("div",sa,[a[31]||(a[31]=e('
Please change the login endpoint to JWT and add the corresponding unit tests.
🌔Analyzing the auth module…
3 tool calls· completed · 0.8s
read_filesrc/auth/session.ts0.2s
12 export function verify(token: string) {
13 return jwt.verify(token, getSecret());
14 }
read_filesrc/auth/middleware.ts0.2s
grep"jwt.verify" · 4 matches0.1s

I looked at the structure of src/auth; it is currently based on a session cookie. The scope of the change is below — once you confirm, I'll start.

',4)),t("div",ea,[t("div",oa,[(d(),s("svg",ia,[...a[23]||(a[23]=[t("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-1-5h2v2h-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355"},null,-1)])])),a[24]||(a[24]=t("span",{class:"p-action-title"},"A decision needs your confirmation",-1))]),a[25]||(a[25]=t("div",{class:"p-action-body"},"How long should the JWT expiry be? Default 7 days, refresh token 30 days.",-1)),a[26]||(a[26]=t("div",{class:"p-action-foot"},[t("button",{class:"p-btn secondary sm"},"Customize"),t("button",{class:"p-btn primary sm"},"Use default")],-1))]),t("div",la,[t("div",na,[(d(),s("svg",va,[...a[27]||(a[27]=[t("path",{fill:"currentColor",d:"m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0m-8.66 16h15.588L12 5.5zM11 16h2v2h-2zm0-7h2v5h-2z"},null,-1)])])),a[28]||(a[28]=t("span",{class:"p-action-title"},"Write permission required",-1)),a[29]||(a[29]=t("span",{class:"p-badge warning sm",style:{"margin-left":"auto"}},"write_file",-1))]),a[30]||(a[30]=e('
About to modify src/auth/middleware.ts, 42 lines changed. Allow?
',2))]),a[32]||(a[32]=e('
Replace session with JWT signing
Refactor the auth middleware
Add unit tests
',1))])])]),a[35]||(a[35]=e('

Wide markdown tables (desktop): regular chat prose stays within the 760px reading column (--p-content-max). On desktop a wide table may grow naturally with its content up to 1040px (--p-table-max), centred within the conversation pane; beyond that the excess scrolls horizontally inside the table's own wrapper — the page and the chat area never scroll sideways. A single column is capped at 700px (--p-table-cell-max), so long cell content wraps inside the cell instead of stretching the table. The conversation outline (TOC) keeps its usual position just outside the reading column; when a table grows past it and scrolls under the rail, the TOC is hidden temporarily and returns as soon as the table leaves, without touching the user's TOC setting. On mobile a table never breaks out of the reading column.

Tool calls: compact by default, grouped, expand on demand

High-frequency calls like read_file / bash / grep are "operational noise" — if each one took a full card, parallel triggers would quickly drown out the conversation. The new strategy splits tool calls into three tiers by visual weight, pushing them as light as possible:

Three visual-weight tiers
① Tool row · lightest (default)
read_filesrc/auth/session.ts0.2s
② Tool group · medium (consecutive / parallel auto-merged; collapsed to one line)
3 tool calls· completed · 0.8s
③ Decision card · heavy (only question / approval, needs user input)
Write permission requiredwrite_file
About to modify src/auth/middleware.ts, 42 lines changed.
Tool Call · compact row (expand on demand)
3 tool calls· completed
read_filesession.ts
12 export function verify(…
read_filemiddleware.ts
grep"jwt" · 4 hits

Composer

Unified into a single rounded container: --radius-xl, with the whole border turning blue + a soft focus ring on focus. Toolbar controls all use the Pill / IconButton primitives, and the send button is a 32px circle.

Composer
Message Kimi, / to run a command, @ to reference a file…
yoloplan
kimi-k2· thinking
i
Site-wide consistency: the composer has only one radius (--radius-xl · 16px) and one height; toolbar controls all use the Pill / IconButton primitives, and the send button is a 32px circle — it no longer drifts with the theme.

Responsive

See §02 --p-bp-sm for the breakpoint. This section only gives mobile-adaptation pointers for the chat interface; a full mobile mockup is out of scope for this spec.

i
At ≤640px: dialogs anchor to the bottom as Sheets (xl top radius, top drag handle), the sidebar collapses into an expandable drawer, the Composer toolbar is allowed to wrap, and the chat reading column drops its max-width to fill the screen. At 641–980px: the sidebar auto-collapses (user-expandable), right detail panels open as full-screen overlays, and composer menus clamp to the viewport.
',13))]),a[37]||(a[37]=e(`
05

Theming

Kimi Web uses one unified theme: the same components, fonts, radii, shadows, and surfaces — "reskinning" only changes colors. Colors are collapsed into 4 seed tokens — two theme colors + one light surface + one dark surface; the neutrals and accent are derived from them, and the semantic status colors (success / warning / danger) ship as independent palettes paired with the seeds, one set each for light / dark.

Color seeds

Day-to-day customization only needs these 4 seeds; the whole site's neutrals and accent change with them:

Theme color · primary
--accent-primary
Theme color · secondary
--accent-secondary
Light surface
--surface-light
Dark surface
--surface-dark

Accent families

Within one theme, the theme color (accent) can switch among several color families. Two parallel families are provided today: blue (default, brand blue, carrying semantic emphasis) and black (neutral black, carrying the most restrained strong action). Both share the same components, fonts, radii, and surfaces — switching families only swaps the accent token set, with zero structural change; more families (green / purple, etc.) can be added later. The two cards below show the same primary button under the two families.

Family switch · same primary, different theme color
Blue family · default
accent
--accent #1783ff · soft #e8f3ff
Black family · neutral
accent
--accent #14171c · soft #f1f2f4

Theme console · change 4 colors, light & dark change together

Theme Console
Primary #1783ffSecondary #6b7280Light surface #ffffffDark surface #0d1117
Light surface previewWhite background + accent button + neutral text
Dark surface previewDark background + same accent + derived text

Light / dark mode

Driven by the two surfaces --surface-light / --surface-dark: whichever surface is current derives the corresponding foreground, border, shadow, and status colors. Switching light / dark simply swaps between these two sets of derived tokens, with zero structural change.

Benefits of one theme: components, fonts, radii, and surfaces are consistent site-wide; reskinning only changes 4 color seeds; light / dark mode works out of the box; semantic status colors are independently tunable.
06

Style Rules

Anti-pattern rules that all UI code must follow. These rules are also the basis of the check-style detection script, one-to-one with a warning.

Rule IDWhat it detectsAction
no-gradient-textgradient text / gradient backgroundForbidden
no-glassmorphismbackdrop-filter: blur (TopBar sticky nav bar is the sole exception)TopBar exempt
no-color-glowcolored / large-radius box-shadow glowForbidden
no-emoji-iconusing emoji as a functional icon (the moon phases 🌑…🌘 are the sole exception, and only in the "waiting for the Agent to respond" chat state; all other loading states use the plain Spinner)Moon phase exempt
no-hardcoded-hexunregistered hex color inside a component <style>Warning
no-hardcoded-fonthard-coded font-family in a component (e.g. 'Inter') instead of var(--font-ui)Warning
radius-from-scaleradius value not in {4,6,8,12,16,20,999}Warning
z-from-scalez-index using an unregistered large numberWarning
weight-from-scalefont-weight not in {400,500}Warning

State matrix

Every interactive primitive should define the following states where applicable; missing ones are flagged by the style rules. focus-visible always uses --p-focus-ring (appears only on keyboard focus, see §08); disabled is uniformly opacity:.5.

StateButtonInputCardMenu itemSwitch
default
hover
active / pressed
focus-visible
disabled
loading
selected / active
error
readonly

Moon phase exemption

The "🌑…🌘" moon-phase emoji are a brand signature of Kimi Web, used only in the chat state of "message sent, waiting for the Agent's first response", and are rendered uniformly by the MoonSpinner component; waiting states such as ActivityNotice reuse it rather than implementing their own moon phase. It is the sole exception to the no-emoji-icon rule; all other loading states use the plain Spinner.

Glassmorphism exemption

backdrop-filter: blur is banned site-wide, with the sole exception of the .frost variant of TopBar — and only in the one place of the "sticky navigation bar", used to stay readable over scrolling content. No other component (card, dialog, Toast, panel) may use glassmorphism; violations are flagged under no-glassmorphism.
07

App Shell & Sidebar

The structural spec for the app shell (three-column grid + right preview panel) and the left session sidebar. These are business-agnostic "skeletons" — components, fonts, radii, and surfaces are reused from §02 / §03, but layout and alignment have their own conventions.

Layout grid

On desktop it is a single-row 5-track grid: the sidebar and the right panel each occupy a permanent auto track, with the conversation column in the middle; two 0-width tracks are for the ResizeHandles.

App.vue · .app
grid-template-columns: auto 0 minmax(0, 1fr) 0 auto;
-    /*         sidebar ↑    ↑handle  ↑conversation  ↑handle ↑right panel (auto) */
TokenValueUsage
sidebar width270px default (adjustable)expanded sidebar width, changed by dragging the ResizeHandle; should approach §02's --p-sidebar-w (264px)
--preview-w460pxwidth of the right preview panel when open
--panel-head-h48pxunified height for all right panel heads + the conversation column head, so the hairline runs as one line
--p-bp-sm640px≤640 switches to a mobile single column (top bar + conversation), no sidebar / handle / right panel
--p-bp-md980px641–980 auto-collapses the sidebar (user-expandable) and opens right detail panels as full-screen overlays; composer menus clamp to the viewport

Sidebar alignment system (--sb-*)

All sidebar rows (group head, session row, New chat button) share 4 custom properties, so the "session title" aligns precisely under the "workspace name".

TokenValueUsage
--sb-inset12pxrow box (hover/selected pill) inset from the sidebar edges — matches the brand header's 12px padding
--sb-pad-x20pxcontent start x (= --sb-inset + 8px row padding)
--sb-gutter16pxleading icon slot width — matches the workspace folder icon so the session title aligns under the workspace name
--sb-gap6pxgap between the icon slot and the text
i
The session title's starting x = --sb-pad-x + --sb-gutter + --sb-gap. The group head has a folder icon and the session row has a status slot; both icons are the same width and position, so the titles align naturally.

Sidebar structure

The sidebar from top to bottom: brand header → New chat → search → grouped list (workspace head + session rows) → settings footer. Controls reuse the §03 primitives as much as possible. The sidebar sits on --color-sidebar-bg (one step off --color-bg: warm off-white in light, near-black in dark — the session column reads as its own plane; the hairline still separates it from the conversation pane). Vertical rhythm: the brand header keeps 12px padding (on macOS desktop the left padding grows to 80px to clear the traffic lights); rows inside the actions group (New chat + search) stack flush (0 gap, same rhythm as the list rows); adjacent groups are separated by 12px. Row hover uses --sb-hover (= the global --color-hover wash); the selected row uses --color-selected — neutral, never the accent.

BlockUseNote
Brand headerlogo + name + collapse IconButton (right-aligned)on Windows / web the brand is left and the collapse IconButton sm is right-aligned inside the header; the logo is animated (a blinking eye). On macOS desktop the header is a bare drag strip (brand hidden, traffic lights + resident floating toggle over it)
New chatfull-width left-aligned button (custom)same rhythm as the session rows in the list (left-aligned, hover = --sb-hover). Do not use Button (centered, breaks the rhythm)
Searchbare search row (custom)no border, hover/focus shows a sunken background; icon + label, with the Kbd keycaps (⌘K / Ctrl K) pushed to the trailing edge — label and shortcut are justified apart. Do not use Input (the 38px bordered version is too heavy). Last fixed row above the list — its wrapper carries the scroll-linked seam
Section label.p-section-labeluppercase muted small titles like "Workspaces"
Workspace head / session rowsee next two sectionsshare --sb-* alignment
Settings footerfull-width left-aligned button (custom)pinned row under the session list, separated by a 1px --line top border; icon + label, same list-style family as New chat
!
Why New chat / search / inline rename don't use Button / Input: they are "list-style" controls (full-width, left-aligned, compact, borderless), while Button is centered and Input is a 38px bordered control — forcing them in would break the sidebar's visual density and alignment. This is an intentional custom exception, not an oversight.

Session row

A session row is an inset rounded pill, structured as: status slot → title → time → attention Badge → kebab.

PartRule
Containerpadding: 8px 8px inside the list's --sb-inset gutter, radius-sm; no fixed/min height — row height is font-driven (title line-height: --leading-tight, ≈16px) → ≈32px total, the sidebar-wide row rhythm. The hover kebab is absolutely positioned so it never forces the row taller (no hover jitter). hover = --sb-hover (the global --color-hover wash); active = --color-selected — neutral, no accent tint, no border, no weight change
Status slot (lead)fixed --sb-gutter width; running = Spinner sm, otherwise unread = 7px accent dot
Titleflex:1 with truncation; double-click enters inline rename (compact input, not Input)
Timemono xs, fg-faint; yields to the kebab on hover
Attention BadgeBadge sm: info (needs answer) / warning (needs approval) / danger (aborted)
kebabIconButton sm, shown on hover; dropdown uses Menu/MenuItem
Archive confirmationreplaces the title area, Button sm (danger confirm / secondary cancel)

Workspace group

The group head and session rows share --sb-*: folder icon (open/closed) → name, with the kebab and "+" revealed on hover.

Show more & collapse

The "load more / show less" control at the bottom of each workspace group is a session-row-shaped compact list control (same family as search, New chat, inline rename — not a Button). It doubles as the pagination trigger and the in-group expand / collapse toggle.

PartRule
Containersession-row pill: display:flex; gap:--sb-gap; padding:8px …, no fixed/min height (font-driven, ≈32px like a session row), same padding as a session row, radius-sm; hover = --sb-hover (no text recolor); :focus-visible uses --p-focus-ring
Lead slotempty, --sb-gutter wide, so the label's start x aligns with the session titles (--sb-pad-x + --sb-gutter + --sb-gap)
Labelfont-ui, text-xs, --color-text; flex:1, truncated
Behavior"Load more" fetches the next page and auto-expands; once more than the first page is loaded, "Show less" appears and collapses back to the first page (view-layer trim — data is kept, no refetch); "Show all" re-expands

ResizeHandle

A 4px vertical drag bar, layered over the 1px column border (margin: 0 -2px makes the whole 4px grabbable), turning accent on hover / drag.

RuleValue
Width / cursor4px / col-resize
Normal / activetransparent / accent fill
Layer--z-dropdown, above pane-level sticky chrome (chat dock at --z-sticky) so the overhang stays visible and grabbable
Behaviorpanel width follows the pointer 1:1 while dragging (the parent disables transitions to avoid lag); on release it is persisted to localStorage

Right panel

The right panels (file preview / Diff / thinking / sub-agent / side chat) share one track and one head primitive.

i
One-sentence principle: the sidebar / shell is a "list + grid" skeleton that reuses the §02 tokens and §03 primitives (Button / IconButton / Badge / Kbd / Menu / Spinner / PanelHeader); compact list controls that don't fit a primitive (search, New chat, inline rename, show-more) keep their custom form, governed by this section.
08

Accessibility (pragmatic edition)

Kimi Web is a local developer tool; it does not target a specific WCAG conformance level, nor maintain a full screen-reader QA matrix. This section collects only the rules that are "low-cost, don't hurt the look, and directly benefit keyboard-heavy users", as the baseline contract for each primitive; the more expensive, lower-ROI parts (such as real-time announcement orchestration for streaming output) are not mandatory for now.

i
On the "ugly" focus ring: the focus visibility required below always uses :focus-visible (not :focus). It appears only on keyboard focus; mouse clicks don't trigger it, so it doesn't pollute the mouse-driven visual; the ring's strength is tuned uniformly with --p-focus-ring, not overridden per place.

1. Contrast & color

2. Keyboard operable

Anything doable with a mouse must also be doable with a keyboard; Tab order follows the DOM, with no invented skipping. Composite controls define their keyboard model per the table below; a missing model is treated as incomplete:

ControlKeyboard behavior
DialogTab cycles within the dialog (focus trap); Esc closes; focus returns to the trigger element after closing.
Menu / move the highlight, Enter selects, Esc closes.
Tabs / switch tabs (roving tabindex); only the current tab is in the Tab sequence.
Switch / Segmented / or Space / Enter to toggle.
ComposerOn touch-primary devices (pointer: coarse) Enter inserts a newline (send via the button) and Ctrl+S steer is disabled; a detected hardware keyboard restores both.

3. Focus visibility

4. Labels & semantics

5. Target size

Desktop click targets ≥ 32px; touch devices ≥ 44px (consistent with the §01 principle and the IconButton lg tier).

6. Reduced motion

Handled uniformly in the global styles per §02's @media (prefers-reduced-motion: reduce); components do not check this individually. The MoonSpinner moon phase pauses on the current frame.

7. Live announcements (non-mandatory)

Screen-reader announcements are not a mandatory contract in this product. Short hints like Toast can use role="status" / aria-live; chat streaming output is currently not announced word-by-word, which is an acceptable trade-off, to be added later if a real need arises.

Explicitly not mandatory for now: a WCAG conformance-level claim, a complete ARIA pattern table, a per-screen-reader QA matrix, and real-time announcement orchestration for streaming output — these are not written into the primitive contract, to avoid becoming slogans no one maintains.
`,4))])])])]))}}),ga=x(ca,[["__scopeId","data-v-40168b71"]]);export{ga as default}; diff --git a/apps/kimi-code/dist-web/assets/DesignSystemView-UYw_7SpS.js b/apps/kimi-code/dist-web/assets/DesignSystemView-UYw_7SpS.js new file mode 100644 index 0000000000..9c2b9f5990 --- /dev/null +++ b/apps/kimi-code/dist-web/assets/DesignSystemView-UYw_7SpS.js @@ -0,0 +1,13 @@ +import{_ as w,I as y,a as x}from"./index-bE2IzaLg.js";import{d as k,h as C,R as z,o as t,c as s,a as e,V as d,J as i,F as r,r as b,E as g,b as S,u as q}from"./vendor-ucnN-Sh8.js";import"./vendor-markstream-D6yjq9lL.js";import"./vendor-katex-Com_2SPi.js";const T={class:"ds-page"},B={class:"layout"},A={class:"content"},I={class:"content-inner"},M={id:"tokens"},H={class:"icon-sizes"},L={class:"sz"},V={class:"p-ic",style:{width:"14px",height:"14px"},viewBox:"0 0 24 24",fill:"currentColor"},D={class:"sz"},U={class:"p-ic",style:{width:"16px",height:"16px"},viewBox:"0 0 24 24",fill:"currentColor"},W={class:"sz"},R={class:"p-ic",style:{width:"20px",height:"20px"},viewBox:"0 0 24 24",fill:"currentColor"},P={class:"icon-grid"},N={class:"icon-group-label"},K={class:"ic-name"},O={id:"primitives"},E={class:"stage-wrap"},j={class:"stage p col"},_={class:"demo-row"},F={class:"p-btn primary disabled"},G={class:"p-spinner sm",viewBox:"0 0 24 24",style:{"--p-accent":"#fff","--p-line":"rgba(255,255,255,.35)"}},J={class:"stage-wrap"},Q={class:"stage p col",style:{gap:"0",background:"var(--p-surface)",padding:"0","max-width":"300px","align-items":"stretch"}},Y={style:{display:"flex","align-items":"center",gap:"8px",padding:"7px 10px",margin:"1px 6px","border-radius":"8px",color:"var(--p-text)","font-size":"13px"}},Z={style:{color:"var(--d-fg-faint)",flex:"none"},width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},$={style:{display:"flex","align-items":"center",gap:"8px",padding:"7px 10px",margin:"1px 6px","border-radius":"8px",color:"var(--p-text)","font-size":"13px"}},X={style:{color:"var(--d-fg-faint)",flex:"none"},width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},aa={id:"chat"},ea={class:"stage-wrap"},ta={class:"stage p col",style:{"align-items":"center",background:"#fff"}},sa={class:"demo-chat"},da={class:"p-action"},oa={class:"p-action-head"},ia={class:"p-ic",style:{color:"var(--p-accent)"},viewBox:"0 0 24 24",fill:"currentColor"},la={class:"p-action warn"},na={class:"p-action-head"},ca={class:"p-ic",style:{color:"var(--p-warning)"},viewBox:"0 0 24 24",fill:"currentColor"},va=k({__name:"DesignSystemView",emits:["close"],setup(ra,{emit:m}){const f=m;function p(){f("close")}let v=null;function h(c){c.key==="Escape"&&p()}return C(()=>{document.addEventListener("keydown",h);const c=Array.prototype.slice.call(document.querySelectorAll('#nav a[href^="#"]')),a=new Map;c.forEach(n=>{const o=n.getAttribute("href");if(!o)return;const u=document.getElementById(o.slice(1));u&&a.set(u,n)});let l=null;v=new IntersectionObserver(n=>{n.forEach(o=>{o.isIntersecting&&(l&&l.classList.remove("active"),l=a.get(o.target)??null,l&&l.classList.add("active"))})},{rootMargin:"-20% 0px -70% 0px",threshold:0}),a.forEach((n,o)=>v.observe(o)),c.length&&c[0].classList.add("active")}),z(()=>{document.removeEventListener("keydown",h),v&&(v.disconnect(),v=null)}),(c,a)=>(t(),s("div",T,[e("div",{class:"ds-topbar"},[e("button",{class:"ds-back",type:"button",onClick:p},"← Back"),a[0]||(a[0]=e("span",{class:"ds-topbar-title"},"Design system",-1))]),e("div",B,[a[38]||(a[38]=d('',1)),e("main",A,[e("div",I,[a[36]||(a[36]=d('
● Design System · v1.0

Kimi Web Design System

This document defines the visual language and component specification for Kimi Web — design tokens, component primitives, the chat interface, theming, and style rules. All UI work is grounded in it: unified, restrained, token-driven, and themeable.

Scope apps/kimi-webComponent primitivesTheme 1 set · 4 customizable colorsLight / dark mode
i
This spec is the single reference when changing the web UI. Before adding or modifying a component, style, layout, or theme, read this document first; color, font, radius, spacing, shadow, z-index, and motion always use the §02 tokens, components reuse the §03 primitives, and the §06 style rules are followed.
01

Design Principles

Every UI decision traces back to the following principles. Kimi Web is a local Agent tool for developers: quick scanning, long stretches of staring, often in the dark — the design serves the task, and is restrained, clinical, and density-first.

Brand tone (the do-not list): calm, clinical, never exaggerated. Reject purple gradients, glassmorphism, glowing shadows, AI purple / blue glows, endlessly looping fussy micro-animations, "Boost your productivity"-style marketing copy, and using emoji as icons — the moon phases 🌑…🌘 are the sole exception, used only in the "waiting for the Agent to respond" chat state, as a brand signature. These are all common tells of AI-generated interfaces (an "AI tell"), deliberately avoided.
i
Declare design intent first (Design Read): before adding a component / page, write one sentence describing its scenario, audience, and tone (for example, "a lightweight tool card embedded in a conversation, for developers, calm and restrained"), then build. If the intent isn't clear, ask one question first rather than defaulting to the nearest existing style.
',2)),e("section",M,[a[7]||(a[7]=d(`
02

Design Tokens

Collapse every visual decision into tokens. Color tokens keep the existing short names and fill out the semantics (lowering migration cost), while spacing, z-index, motion, and font-weight fill in the scales that are currently missing. Every token has: name, light value, dark value, and usage.

i
Naming convention: --<category>-<role>-<state>. For example --color-text-muted, --radius-md, --space-4. To reduce churn, the existing short names (--bg / --ink / --line / --blue …) are kept as compatibility aliases for one release cycle.

Color

Semantic-first, in three layers: background / text / border + accent + status colors. All colors are defined in light / dark pairs, with contrast ≥ 4.5:1.

i
The table below shows the derived semantic tokens. The neutrals and the accent are derived from the 4 color seeds in §05 — for example --color-accent comes from --accent-primary, and --color-bg comes from the current light / dark surface. The semantic status colors (success / warning / danger / info) are independent palettes paired with the seeds, one set each for light / dark; they are not auto-derived from the seeds. Day-to-day reskinning usually only needs the 4 seeds, with the status colors fine-tuned as needed.
bg
#ffffff / #0d1117
surface
#fafbfc / #161b22
surface-sunken
#f3f5f8 / #0d1117
selected
#eceff3 / #2d333b
fg
#14171c / #e8eaed
fg-muted
#6b7280 / #9aa0a8
line
#e7eaee / #2d333b
accent (KMBlue)
#1783ff / #58a6ff
accent-soft
#e8f3ff / rgba(88,166,255,.14)
TokenLightDarkUsage
--color-bg#ffffff#0d1117Page background
--color-surface#fafbfc#161b22Panel / sidebar / card head
--color-surface-raised#ffffff#1c2128Raised card / dialog / input
--color-text#14171c#e8eaedBody text / headings
--color-text-muted#6b7280#9aa0a8Secondary text / placeholder
--color-line#e7eaee#2d333bDivider / card border
--color-selected#00000014#ffffff14Neutral selected fill (sidebar rows, list pickers) — translucent, never accent-tinted
--color-hover#0000000d#ffffff0dRow hover wash — lighter than the selected fill (hover < selected); translucent, sits on any surface
--color-media-alpha-bg-1≈#858585≈#676b72Checkerboard square A of the <img> alpha canvas — color-mix of --color-bg/--color-text (52/48); applied via --media-alpha-canvas (16px period)
--color-media-alpha-bg-2≈#6b6b6b≈#7a7e85Checkerboard square B (42/58) — both squares stay ≥3:1 against white and black; opaque images cover the canvas
--color-sidebar-bg#fbfaf9#181817Sidebar surface — one step off --color-bg so the session column reads as its own plane
--color-accent#1783ff#58a6ffPrimary action / link / focus
--color-success#0e7a38#3fb950Success / pass
--color-warning#a9610a#d29922Warning / pending
--color-danger#c0392b#f85149Danger / error / abort

Surface usage

The four surface layers each have a role — choose by "raised layer / default flat layer / sunken layer / page background", and avoid treating --p-surface-raised as a universal background.

TokenLightDarkUsage
--p-surface-raised#ffffff#1c2128Raised card / dialog / input (raised layer)
--p-surface#fafbfc#161b22Panel / sidebar / card head (default flat layer)
--p-surface-sunken#f3f5f8#0d1117Code block / inline input / recessed area (sunken layer)
--p-bg#ffffff#0d1117Page background

Focus ring

All focusable controls (button, input, link, menu item, switch, checkbox) use the focus-ring token uniformly; do not hand-write a box-shadow focus ring.

TokenValueUsage
--p-focus-ring0 0 0 3px var(--p-accent-soft)Default focus ring (link, menu item, switch, checkbox)
--p-focus-ring-strong0 0 0 3px var(--p-accent-soft), 0 0 0 1px var(--p-accent)Strong focus ring (button, primary action)

Text selection

The text-selection color uses --p-selection uniformly (light rgba(23,131,255,.18) / dark rgba(88,166,255,.32)), applied by the global ::selection rule; do not set a separate highlight background.

Disabled state

All disabled controls use opacity:.5 + cursor:not-allowed uniformly; do not separately grey out or recolor.

Font families

Kimi Web uses two font families: --font-ui (UI and body, Inter first) and --font-mono (code and monospace). Components always reference the variables; do not hard-code font names.

--font-ui · UI & body (Inter first)

Body and UI use self-hosted Inter as the primary face. CJK and platform system UI fonts sit late in the fallback chain so Latin glyphs resolve to Inter while Chinese text can fall through to native CJK fonts:

--font-ui
--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial,
+      "PingFang SC", "Microsoft YaHei", "Noto Sans SC",
+      -apple-system, BlinkMacSystemFont, "Segoe UI",
+      Roboto, Ubuntu, sans-serif,
+      "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";

--font-mono · Code & monospace

Code, tool names, line numbers, diffs, etc. use JetBrains Mono (a self-hosted variable font), falling back to the system monospace:

--font-mono
--font-mono: "JetBrains Mono Variable", "JetBrains Mono",
+      ui-monospace, "SF Mono", Menlo, Consolas, monospace;

Loading strategy

FontSourceBundledUsage
JetBrains Mono@fontsource-variable/jetbrains-mono✓ self-hostedmonospace / code (--font-mono)
Inter@fontsource-variable/inter/opsz.css + opsz-italic.css✓ self-hostedUI / body / display (--font-ui, --font-display), wght 100-900, opsz 14-32, normal + italic
System UI / CJK fontsoperating systemlate fallback for UI / body, not bundled
Self-hosted Inter / JetBrains Mono: no external network requests, no FOUT, works offline; system fonts are not bundled, consistent with the local-first approach.

Usage rules

Type scale & weight

The user font-size preference writes --base-ui-font-size. Compact UI chrome and the sidebar follow it through --ui-font-size, while chat reading surfaces derive one readable step above it through --content-font-size.

The fixed product type tokens still define component defaults: UI controls / buttons / forms use --text-base (14px); reading body — including chat Markdown, message bubbles, etc. stays one step larger than compact chrome for readability; the sidebar session list follows that same readable step while keeping list density. Drop stray font-weight: 650 / 750; converge on two weights, 400 / 500 (regular / emphasis).

Page Title
--text-2xl · 22 / 500
Section Title
--text-xl · 18 / 500
Chat body / card title
--text-lg · 16 / 400
UI control / button / form
--text-base · 14 / 500
Helper text / table
--text-sm · 13 / 400
Badge / timestamp / line number
--text-xs · 12 / 500
TokenValueUsage
--font-ui"Inter Variable", "Inter", "Helvetica Neue", Arial…UI & body (Inter first)
--font-monoJetBrains Mono…code, tool names, line numbers, diffs
--base-ui-font-size14px user preferenceroot setting that drives UI, reading body, and sidebar font sizes
--content-font-sizecalc(base + 1px)chat Markdown, message bubbles, composer
--leading-tight/normal/relaxed1.25 / 1.5 / 1.7headings / UI / long text
--weight-regular/medium400 / 500body / emphasis

Icon size

Icons use three size tokens uniformly. The global .p-ic default is 16px (--p-ic-md); components pick as needed, and random pixel sizes are forbidden.

TokenValueUsage
--p-ic-sm14pxsmall button, badge, menu item, inline link icon
--p-ic-md16pxdefault (button, icon button, toolbar)
--p-ic-lg20pxToast status icon, empty-state illustration

Icon

Icons always come from the centralized registry lib/icons.ts: in templates use the <Icon name size /> component (components/ui/Icon.vue); for v-html contexts (such as a tool glyph) use iconSvg(name, size). Do not hand-write <svg> — the scripts/check-style.mjs icon-from-registry rule flags stray SVGs. Icons come from Remix Icon (Apache-2.0), uniformly in a fill style (fill="currentColor", 24×24 source grid), with color following the text; size uses the three tokens below. The registry is bundled on demand by unplugin-icons at build time from @iconify-json/ri — only icons imported in lib/icons.ts end up in the production bundle, fully offline and tree-shaken. The whole site uses only this one icon family; do not mix in other icon libraries, and never hand-write SVG paths. When an icon is missing, add it to the registry — two static ~icons/ri/* imports (component + ?raw string) plus one entry in ICONS in lib/icons.ts; the import names (e.g. RiFolderOpenLine / RawFolderOpenLine) show the ri: icon id. Do not draw it in a component.

Size scale

`,43)),e("div",H,[e("div",L,[(t(),s("svg",V,[...a[1]||(a[1]=[e("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])),a[2]||(a[2]=i("sm · 14",-1))]),e("div",D,[(t(),s("svg",U,[...a[3]||(a[3]=[e("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])),a[4]||(a[4]=i("md · 16",-1))]),e("div",W,[(t(),s("svg",R,[...a[5]||(a[5]=[e("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])),a[6]||(a[6]=i("lg · 20",-1))])]),a[8]||(a[8]=e("h4",{class:"mini"},"Icon library",-1)),a[9]||(a[9]=e("p",null,[i("Currently registered icons, grouped by purpose. The display order and grouping are defined by "),e("code",null,"ICON_GROUPS"),i(" in "),e("code",null,"lib/icons.ts"),i(" (a hand-maintained array covering the same icon names), and this catalog is rendered directly from that array so the registry and the document never drift.")],-1)),e("div",P,[(t(!0),s(r,null,b(q(y),([l,n])=>(t(),s(r,{key:l},[e("div",N,g(l),1),(t(!0),s(r,null,b(n,o=>(t(),s("div",{key:o,class:"icon-cell"},[S(w,{name:o},null,8,["name"]),e("span",K,g(o),1)]))),128))],64))),128))]),a[10]||(a[10]=d('

Do not use emoji as functional icons (the sole exception is the moon phases 🌑…🌘, used only in the "waiting for the Agent to respond" chat state). The Kimi brand mark (the 32×22 eye logo) is a brand asset and is not part of this icon system.

A few special graphics are not in the registry; each has a dedicated component maintained in one place, and must not be copied by hand: <ContextRing :pct /> (the Composer context progress ring, data-driven), <AuthStateIcon kind /> (the success / expired / error colored illustrations in the login flow), <Spinner /> (loading state). Status dots (such as in the Provider list) always use CSS dots (border-radius:50%), not SVG. The scripts/check-style.mjs icon-from-registry rule exempts the above and the brand mark; all other hand-written <svg> is flagged.

Spacing

A 4px base grid. All spacing, gaps, and padding inside and outside components come from this scale — no arbitrary pixels.

--space-1 · 4
icon gap, badge padding
--space-2 · 8
control gap, small padding
--space-3 · 12
button padding, form-item gap
--space-4 · 16
card padding, grid gap
--space-5 · 20
dialog padding
--space-6 · 24
section gap
--space-8 · 32
large section gap

Dense list (sidebar / file tree)

High-density navigation lists like the sidebar share one rhythm, all on the 4px grid: in-row vertical padding --space-1 (4px), no margin between rows (the hover pill provides the separation); section gap (between logo / search / action buttons / group title / list) uniformly --space-2 (8px); between groups --space-2; the brand header is slightly looser at the top (--space-3). When building similar lists, reuse this scale — do not hand-write 1/6/7/10px.

Radius

Merge the existing 14 values into the nearest of 7 scale steps. Rule: the component type determines the radius, not the author's feel.

xs · 4
sm · 6
md · 8
lg · 12
xl · 16
2xl · 20
full · 999
TokenValueUsageMerged from
--radius-xs4pxsmall badge, inline tag2/3/4px →
--radius-sm6pxsmall button, icon button, menu item5/6px →
--radius-md8pxbutton, input, badge, card7/8/9px →
--radius-lg12pxdropdown panel10/12px →
--radius-xl16pxdialog, bottom Sheet, Composer14/16px →
--radius-2xl20pxaccent container / large panel20px
--radius-full999pxpill badge, avatar, send button999px / 50%

Elevation & z-index

Shadows express only "elevation", never decoration (no colored glow). z-index is unified into a scale, eradicating 9999-style one-upping.

sm · dropdown menu / sticky
md · Toast
lg · overlay (reserved)
xl · dialog
Z-index TokenValueUsage
--z-base0normal flow
--z-sticky100sticky header / sidebar
--z-dropdown200dropdown menu / tooltip
--z-overlay300overlay / bottom Sheet
--z-modal400dialog
--z-toast600toast
--z-max9999reserved: only this tier for extreme fallback

Motion

TokenValueUsage
--ease-outcubic-bezier(0.16, 1, 0.3, 1)enter, hover, expand
--ease-in-outcubic-bezier(0.4, 0, 0.2, 1)panel width, layout changes
--duration-fast120mspress, focus
--duration-base160mshover, show/hide
--duration-slow260msdialog, Sheet, layout

Reduced motion

i
Under @media (prefers-reduced-motion: reduce), all animation and transition durations drop to about 0.001ms (effectively off), and the MoonSpinner moon phase pauses on the current frame. Components should not check this individually; it is handled uniformly in the global styles.

Layout & breakpoints

Layout sizes and responsive breakpoints are tokenized too: sidebar width, content reading-column width, and two global breakpoints. Components should not hard-code pixels.

TokenValueUsage
--p-sidebar-w264pxleft session sidebar width
--p-content-max760pxchat reading-column max width (regular chat prose)
--p-content-wide920pxwide content (settings / panel)
--p-table-max1040pxdesktop wide-table max width (see §04)
--p-table-cell-max700pxmax width of a single table column; longer cell content wraps (see §04)
--p-bp-sm640pxmobile / desktop boundary
--p-bp-md980pxnarrow / wide screen boundary; consumed in JS as the NARROW_QUERY matchMedia constant (CSS media queries can't reference tokens)
i
At ≤640px: dialogs become bottom Sheets, the sidebar collapses into an expandable drawer, and Composer toolbar controls are allowed to wrap. At 641–980px: the sidebar auto-collapses (user-expandable), right detail panels open as full-screen overlays, and composer menus clamp to the viewport.
',23))]),e("section",O,[a[21]||(a[21]=d(`
03

Primitives

Component primitives are the "smallest correct units" of the site UI. Each primitive exposes variants along only two dimensions — variant / size — with appearance driven by tokens, so it naturally supports light / dark mode and customizable theme colors.

i
For every interactive primitive, the keyboard behavior, focus, and ARIA contract are in §08 Accessibility. New primitives must ship with a keyboard model — mouse-only interaction is not enough.

Component selection guide

ScenarioUse
Primary action (submit / confirm)Button variant=primary
Secondary action / cancelButton secondary / ghost
Destructive action (delete / abort)Button danger / danger-soft
Status markerBadge
Toolbar filter / model switchPill
2–4 mutually exclusive optionsSegmentedControl
Top tabsTabs
Switch / multi-selectSwitch / Checkbox
Floating content card / list action menuCard / Menu
Inline notice / global toastBanner / Toast
Dialog / confirmation · bottom panel (mobile)Dialog / Sheet

Button

4 semantic variants × 3 sizes. The primary action primary takes its color from the current theme color (§05 can switch between the blue and black families). Radius uses --radius-md uniformly (small size --radius-sm), weight 600, with a visible focus ring.

Variant matrix lightpreview
medium · default
small
With icon / state
Dark skin dark

API

Button.vue · usage
<Button variant="primary" size="md" :loading="submitting">Save</Button>
+    // variant: primary | secondary | ghost | danger | danger-soft
+    // size:    sm | md | lg
States

IconButton

Unified into three sizes — 26 / 32 / 44px — with a light-grey hover background and a visible focus ring. Replaces the ad-hoc icon + click areas scattered across components today.

IconButton
i
The desktop IconButton comes in sm 26 / md 32; on touch devices the tap target should be ≥ 44px, so use lg 44px, satisfying the §01 accessibility principle (the mobile three-piece set uses lg).

Badge · Chip · Pill

Collapsed into two kinds: Badge (status badge, with an optional status dot) and Pill (the clickable pill in the composer toolbar). Radius, font size, and padding are all unified.

Badge · status badge
Semantic variants
pendingrunningcompletedneeds confirmationfailedKIMI
With icon / small size
planpassedread-only
Pill · toolbar pill (composer)
kimi-k2· thinkingyolo12k / 200k

Kbd · keyboard shortcut

Kbd renders a shortcut as keycaps — one block per key, never inline text like (⌘K). Caps are 18px tall (Badge sm rhythm): sunken surface, 1px border with a 2px bottom edge, 11px UI font, muted text. Typical placement: pushed to the row's trailing edge, opposite the label (e.g. the sidebar search row).

Kbd · keycaps
KCtrlKP

Card / Surface

All cards across the site share one shell: flat, 1px border, --radius-md radius, no shadow. The structure is split into three parts — head / body / foot. Cards differ only in the head — in two tiers by visual weight, while the shell stays consistent:

Operation card · compact mono head (no fill)
read_filesession.ts
The head uses mono + a neutral background to emphasize its "code / process" nature; the body uses sans for readability. Flat, radius-md, same shape as the tool group and Agent group.
Attention card · semantic color-band head (accent / warning)
A decision needs your confirmationquestion
The head uses a semantic light background (accent-soft / warning-soft) to stand out from the message stream, signaling that the user must step in. The shell is exactly the same as the operation card.
Group · the container owns the border, rows are separated by hairlines
3 tool calls· completed
read_filesession.ts
grep"jwt" · 4 hits

Input / Select / Textarea

Unified 38px height (32px small), --radius-md radius, --color-surface-raised background, and a unified blue focus ring (0 0 0 3px accent-soft).

Form primitives
Only letters, numbers, and hyphens are allowed.
States
Please enter a valid workspace name
Normal state · validation passed

Code / Diff

Inline code, code blocks, and diffs all use the monospace font (--p-font-mono). Code blocks have a filename title bar and a copy button. Diffs use + / - row colors to express additions and deletions — additions use a success light background, deletions use a danger light background, with no gradients.

Code / Diff
inline code
The server uses jwt.verify(token) to verify the signature, returning 401 on failure.
code block
session.ts
import { verify } from './jwt';
+
+    export function auth(token: string) {
+      return verify(token, process.env.JWT_SECRET!);
+    }
diff
session.ts · +3 -1
import { verify } from './jwt';
-const secret = 'dev-secret';
+const secret = process.env.JWT_SECRET!;
return verify(token, secret);

Dialog

One dialog primitive replaces 6 hand-written implementations: unified --radius-xl radius, --shadow-xl shadow, 20px head padding, right-aligned footer actions, and an IconButton close button.

Dialog primitive
New chat
Create an independent Agent chat in the current workspace.
i
Size & height: Dialog offers three widths — md 440 / lg 640 / xl 760 (--p-content-max) — chosen by content weight. Height comes in two kinds: auto (default, grows with content up to max-height) and fixed (constant height min(680px, 100vh - 64px), with overflow scrolled inside the body). Content / multi-tab dialogs (settings, model picker, provider manager, folder browser) always use fixed so the frame size stays constant and doesn't jump when switching tabs or content length; short confirmation dialogs keep auto.

Toast

Unified information architecture: status icon + title + description. The status color appears only on the icon, avoiding large colored areas that create visual noise.

Toast
Connected to server
The local daemon is responding normally; you can start a new chat.
Context usage 82%
Consider running /compact to free up space.

Spinner

Loaders fall into two categories by scenario — do not mix them:

Spinner · plain loader (default)

`,48)),e("div",E,[a[14]||(a[14]=e("div",{class:"stage-bar"},[e("span",{class:"st"},"Spinner · common scenarios")],-1)),e("div",j,[e("div",_,[a[13]||(a[13]=d('Loading…',2)),e("button",F,[(t(),s("svg",G,[...a[11]||(a[11]=[e("circle",{class:"track",cx:"12",cy:"12",r:"9"},null,-1),e("circle",{class:"arc",cx:"12",cy:"12",r:"9"},null,-1)])])),a[12]||(a[12]=i("Submitting",-1))])])])]),a[22]||(a[22]=d('

MoonSpinner · moon phase (only "waiting for the Agent")

MoonSpinner · chat waiting state only signature
Frame loop (8 frames)
🌑🌒🌓🌔🌕🌖🌗🌘
Usage · only while the chat waits for a response
🌔Thinking…🌕Waiting for response…
i
The moon phase is the sole exception to the emoji-as-icon rule, and is limited to the "waiting for the Agent's first response" scenario. It is currently implemented twice — in MoonSpinner.vue and ActivityNotice.vue — and should be merged into a single MoonSpinner component, sized via tokens and supporting prefers-reduced-motion. All other loading states use the plain Spinner.

Link

Inline text link: the default is the accent color with no underline; on hover it shows an underline and darkens. The .muted variant uses the secondary text color. Used for in-text jumps, external links, "view all", and other lightweight actions.

Link · inline link
Read the full design token docs before building.View on GitHubView history

Menu / Dropdown

Dropdown menu panel: raised surface + border + light shadow (--shadow-sm, flat-leaning). Menu items support icons, the current (active) state, the danger state, and the disabled state, with separators grouping items. On touch / mobile, use lg (≥44px row height) for menu items.

Menu · dropdown menu
Open file
Selected item
Disabled item
Delete chat

SegmentedControl

Mutually exclusive short option groups, commonly used for 2–4 option switches such as "light / dark / follow system". The current item is highlighted with a raised surface + subtle shadow.

SegmentedControl
LightDarkFollow system

Tabs

Tabs with a bottom hairline, used for grouping and switching sibling content. The current tab is marked with accent text + an accent underline.

Tabs
GeneralAgentAdvanced

Switch

A two-state switch for settings that take effect immediately. 36×20 track with full radius, 16px knob; when on, the track turns accent and the knob slides right, with the transition driven by tokens.

Switch

Checkbox

A 17×17 checkbox. When checked it fills with the accent color and shows a white tick (inline SVG). Often paired with a text label.

Checkbox

Avatar

A 32px default avatar with md radius; .sm is 24px. Can hold an initial or an icon; falls back to this placeholder when there is no image.

Avatar
KK

EmptyState

A centered placeholder for empty lists / panels: a 48px faint icon + title + hint, avoiding blank pages.

EmptyState
No chats yet
Click "New chat" to start a conversation with Kimi

Divider

A 1px horizontal divider (--p-line); .p-divider-v is the vertical divider, used between inline elements.

Divider
Content above

Content below
kimi-k2thinking

Tooltip

A CSS-only hover hint, wrapped in .p-tip. Inverted background (--p-text / --p-bg), single line, no wrapping — carries only short notes.

Tooltip (hover the button)
New chat

Banner

An inline notice bar placed at the top of a content area. Three states — .info / .warning / .danger — each with a matching 18px icon.

Banner
Connected to server
Currently in yolo mode; tool calls will run automatically

Sheet / BottomSheet

A mobile bottom slide-up panel: xl top radius + drag handle, xl shadow. At ≤640px, dialogs become bottom-anchored Sheets.

BottomSheet
Choose a model
kimi-k2 · thinking
kimi-k2 · instant

Skeleton

A placeholder for loading content, using a breathing opacity animation (no gradients), following the no-gradient-text rule. Composed into titles / text lines / avatars.

Skeleton

Command Bar

An inline combination of "primary action + command text + copy", sitting between a button and a code block — used for install / onboarding / one-click execution. The primary action reuses Button primary; the command area uses a mono light-grey background.

Command Bar
curl -fsSL https://code.kimi.com/install.sh | bash

TopBar

The application top bar. Solid by default; the .frost variant is translucent + background blur, used only for sticky navigation bars, and is the sole exception to the no-glassmorphism rule (see §06).

TopBar · solid / frosted glass
Solid TopBar
Frosted-glass TopBar · .frost

SectionLabel

A small group title for sidebar lists, used to section the content below (such as Workspaces in the sidebar). Spec: 13px / 700 / uppercase / letter-spacing .08em, color --color-fg-faint; left-aligned to the row's starting padding (--sb-pad-x), keeping the same indent as the group rows below. For scripts without case (such as Chinese), text-transform:uppercase simply has no effect — no special handling needed.

',50)),e("div",J,[a[20]||(a[20]=e("div",{class:"stage-bar"},[e("span",{class:"st"},"Sidebar · group title")],-1)),e("div",Q,[a[19]||(a[19]=e("div",{class:"p-section-label",style:{padding:"12px 16px 4px"}},"Workspaces",-1)),e("div",Y,[(t(),s("svg",Z,[...a[15]||(a[15]=[e("path",{fill:"currentColor",d:"M4 5v14h16V7h-8.414l-2-2zm8.414 0H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])),a[16]||(a[16]=i(" kimi-code-web ",-1))]),e("div",$,[(t(),s("svg",X,[...a[17]||(a[17]=[e("path",{fill:"currentColor",d:"M4 5v14h16V7h-8.414l-2-2zm8.414 0H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])),a[18]||(a[18]=i(" playground ",-1))])])])]),e("section",aa,[a[34]||(a[34]=d('
04

Chat Interface Overhaul

The message stream is the core of Kimi Web. The goal of the overhaul: have the 6 card types (Agent / Tool / Question / Approval / Swarm / Todo) share one card skeleton, distinguished only by the head icon and semantic color; and collapse the Composer into a single rounded container.

Unified message stream

',3)),e("div",ea,[a[33]||(a[33]=e("div",{class:"stage-bar"},[e("span",{class:"st"},"Conversation · 760px reading column")],-1)),e("div",ta,[e("div",sa,[a[31]||(a[31]=d('
Please change the login endpoint to JWT and add the corresponding unit tests.
🌔Analyzing the auth module…
3 tool calls· completed · 0.8s
read_filesrc/auth/session.ts0.2s
12 export function verify(token: string) {
13 return jwt.verify(token, getSecret());
14 }
read_filesrc/auth/middleware.ts0.2s
grep"jwt.verify" · 4 matches0.1s

I looked at the structure of src/auth; it is currently based on a session cookie. The scope of the change is below — once you confirm, I'll start.

',4)),e("div",da,[e("div",oa,[(t(),s("svg",ia,[...a[23]||(a[23]=[e("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-1-5h2v2h-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355"},null,-1)])])),a[24]||(a[24]=e("span",{class:"p-action-title"},"A decision needs your confirmation",-1))]),a[25]||(a[25]=e("div",{class:"p-action-body"},"How long should the JWT expiry be? Default 7 days, refresh token 30 days.",-1)),a[26]||(a[26]=e("div",{class:"p-action-foot"},[e("button",{class:"p-btn secondary sm"},"Customize"),e("button",{class:"p-btn primary sm"},"Use default")],-1))]),e("div",la,[e("div",na,[(t(),s("svg",ca,[...a[27]||(a[27]=[e("path",{fill:"currentColor",d:"m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0m-8.66 16h15.588L12 5.5zM11 16h2v2h-2zm0-7h2v5h-2z"},null,-1)])])),a[28]||(a[28]=e("span",{class:"p-action-title"},"Write permission required",-1)),a[29]||(a[29]=e("span",{class:"p-badge warning sm",style:{"margin-left":"auto"}},"write_file",-1))]),a[30]||(a[30]=d('
About to modify src/auth/middleware.ts, 42 lines changed. Allow?
',2))]),a[32]||(a[32]=d('
Replace session with JWT signing
Refactor the auth middleware
Add unit tests
',1))])])]),a[35]||(a[35]=d('

Wide markdown tables (desktop): regular chat prose stays within the 760px reading column (--p-content-max). On desktop a wide table may grow naturally with its content up to 1040px (--p-table-max), centred within the conversation pane; beyond that the excess scrolls horizontally inside the table's own wrapper — the page and the chat area never scroll sideways. A single column is capped at 700px (--p-table-cell-max), so long cell content wraps inside the cell instead of stretching the table. The conversation outline (TOC) keeps its usual position just outside the reading column; when a table grows past it and scrolls under the rail, the TOC is hidden temporarily and returns as soon as the table leaves, without touching the user's TOC setting. On mobile a table never breaks out of the reading column.

Tool calls: compact by default, grouped, expand on demand

High-frequency calls like read_file / bash / grep are "operational noise" — if each one took a full card, parallel triggers would quickly drown out the conversation. The new strategy splits tool calls into three tiers by visual weight, pushing them as light as possible:

Three visual-weight tiers
① Tool row · lightest (default)
read_filesrc/auth/session.ts0.2s
② Tool group · medium (consecutive / parallel auto-merged; collapsed to one line)
3 tool calls· completed · 0.8s
③ Decision card · heavy (only question / approval, needs user input)
Write permission requiredwrite_file
About to modify src/auth/middleware.ts, 42 lines changed.
Tool Call · compact row (expand on demand)
3 tool calls· completed
read_filesession.ts
12 export function verify(…
read_filemiddleware.ts
grep"jwt" · 4 hits

Composer

Unified into a single rounded container: --radius-xl, with the whole border turning blue + a soft focus ring on focus. Toolbar controls all use the Pill / IconButton primitives, and the send button is a 32px circle.

Composer
Message Kimi, / to run a command, @ to reference a file…
yoloplangoalswarmsupermoon
kimi-k2· thinking
i
Site-wide consistency: the composer has only one radius (--radius-xl · 16px) and one height; toolbar controls all use the Pill / IconButton primitives, and the send button is a 32px circle — it no longer drifts with the theme.

Responsive

See §02 --p-bp-sm for the breakpoint. This section only gives mobile-adaptation pointers for the chat interface; a full mobile mockup is out of scope for this spec.

i
At ≤640px: dialogs anchor to the bottom as Sheets (xl top radius, top drag handle), the sidebar collapses into an expandable drawer, the Composer toolbar is allowed to wrap, and the chat reading column drops its max-width to fill the screen. At 641–980px: the sidebar auto-collapses (user-expandable), right detail panels open as full-screen overlays, and composer menus clamp to the viewport.
',13))]),a[37]||(a[37]=d(`
05

Theming

Kimi Web uses one unified theme: the same components, fonts, radii, shadows, and surfaces — "reskinning" only changes colors. Colors are collapsed into 4 seed tokens — two theme colors + one light surface + one dark surface; the neutrals and accent are derived from them, and the semantic status colors (success / warning / danger) ship as independent palettes paired with the seeds, one set each for light / dark.

Color seeds

Day-to-day customization only needs these 4 seeds; the whole site's neutrals and accent change with them:

Theme color · primary
--accent-primary
Theme color · secondary
--accent-secondary
Light surface
--surface-light
Dark surface
--surface-dark

Accent families

Within one theme, the theme color (accent) can switch among several color families. Two parallel families are provided today: blue (default, brand blue, carrying semantic emphasis) and black (neutral black, carrying the most restrained strong action). Both share the same components, fonts, radii, and surfaces — switching families only swaps the accent token set, with zero structural change; more families (green / purple, etc.) can be added later. The two cards below show the same primary button under the two families.

Family switch · same primary, different theme color
Blue family · default
accent
--accent #1783ff · soft #e8f3ff
Black family · neutral
accent
--accent #14171c · soft #f1f2f4

Theme console · change 4 colors, light & dark change together

Theme Console
Primary #1783ffSecondary #6b7280Light surface #ffffffDark surface #0d1117
Light surface previewWhite background + accent button + neutral text
Dark surface previewDark background + same accent + derived text

Light / dark mode

Driven by the two surfaces --surface-light / --surface-dark: whichever surface is current derives the corresponding foreground, border, shadow, and status colors. Switching light / dark simply swaps between these two sets of derived tokens, with zero structural change.

Benefits of one theme: components, fonts, radii, and surfaces are consistent site-wide; reskinning only changes 4 color seeds; light / dark mode works out of the box; semantic status colors are independently tunable.
06

Style Rules

Anti-pattern rules that all UI code must follow. These rules are also the basis of the check-style detection script, one-to-one with a warning.

Rule IDWhat it detectsAction
no-gradient-textgradient text / gradient backgroundForbidden
no-glassmorphismbackdrop-filter: blur (TopBar sticky nav bar is the sole exception)TopBar exempt
no-color-glowcolored / large-radius box-shadow glowForbidden
no-emoji-iconusing emoji as a functional icon (the moon phases 🌑…🌘 are the sole exception, and only in the "waiting for the Agent to respond" chat state; all other loading states use the plain Spinner)Moon phase exempt
no-hardcoded-hexunregistered hex color inside a component <style>Warning
no-hardcoded-fonthard-coded font-family in a component (e.g. 'Inter') instead of var(--font-ui)Warning
radius-from-scaleradius value not in {4,6,8,12,16,20,999}Warning
z-from-scalez-index using an unregistered large numberWarning
weight-from-scalefont-weight not in {400,500}Warning

State matrix

Every interactive primitive should define the following states where applicable; missing ones are flagged by the style rules. focus-visible always uses --p-focus-ring (appears only on keyboard focus, see §08); disabled is uniformly opacity:.5.

StateButtonInputCardMenu itemSwitch
default
hover
active / pressed
focus-visible
disabled
loading
selected / active
error
readonly

Moon phase exemption

The "🌑…🌘" moon-phase emoji are a brand signature of Kimi Web, used only in the chat state of "message sent, waiting for the Agent's first response", and are rendered uniformly by the MoonSpinner component; waiting states such as ActivityNotice reuse it rather than implementing their own moon phase. It is the sole exception to the no-emoji-icon rule; all other loading states use the plain Spinner.

Glassmorphism exemption

backdrop-filter: blur is banned site-wide, with the sole exception of the .frost variant of TopBar — and only in the one place of the "sticky navigation bar", used to stay readable over scrolling content. No other component (card, dialog, Toast, panel) may use glassmorphism; violations are flagged under no-glassmorphism.
07

App Shell & Sidebar

The structural spec for the app shell (three-column grid + right preview panel) and the left session sidebar. These are business-agnostic "skeletons" — components, fonts, radii, and surfaces are reused from §02 / §03, but layout and alignment have their own conventions.

Layout grid

On desktop it is a single-row 5-track grid: the sidebar and the right panel each occupy a permanent auto track, with the conversation column in the middle; two 0-width tracks are for the ResizeHandles.

App.vue · .app
grid-template-columns: auto 0 minmax(0, 1fr) 0 auto;
+    /*         sidebar ↑    ↑handle  ↑conversation  ↑handle ↑right panel (auto) */
TokenValueUsage
sidebar width270px default (adjustable)expanded sidebar width, changed by dragging the ResizeHandle; should approach §02's --p-sidebar-w (264px)
--preview-w460pxwidth of the right preview panel when open
--panel-head-h48pxunified height for all right panel heads + the conversation column head, so the hairline runs as one line
--p-bp-sm640px≤640 switches to a mobile single column (top bar + conversation), no sidebar / handle / right panel
--p-bp-md980px641–980 auto-collapses the sidebar (user-expandable) and opens right detail panels as full-screen overlays; composer menus clamp to the viewport

Sidebar alignment system (--sb-*)

All sidebar rows (group head, session row, New chat button) share 4 custom properties, so the "session title" aligns precisely under the "workspace name".

TokenValueUsage
--sb-inset12pxrow box (hover/selected pill) inset from the sidebar edges — matches the brand header's 12px padding
--sb-pad-x20pxcontent start x (= --sb-inset + 8px row padding)
--sb-gutter16pxleading icon slot width — matches the workspace folder icon so the session title aligns under the workspace name
--sb-gap6pxgap between the icon slot and the text
i
The session title's starting x = --sb-pad-x + --sb-gutter + --sb-gap. The group head has a folder icon and the session row has a status slot; both icons are the same width and position, so the titles align naturally.

Sidebar structure

The sidebar from top to bottom: brand header → New chat → search → grouped list (workspace head + session rows) → settings footer. Controls reuse the §03 primitives as much as possible. The sidebar sits on --color-sidebar-bg (one step off --color-bg: warm off-white in light, near-black in dark — the session column reads as its own plane; the hairline still separates it from the conversation pane). Vertical rhythm: the brand header keeps 12px padding (on macOS desktop the left padding grows to 80px to clear the traffic lights); rows inside the actions group (New chat + search) stack flush (0 gap, same rhythm as the list rows); adjacent groups are separated by 12px. Row hover uses --sb-hover (= the global --color-hover wash); the selected row uses --color-selected — neutral, never the accent.

BlockUseNote
Brand headerlogo + name + collapse IconButton (right-aligned)on Windows / web the brand is left and the collapse IconButton sm is right-aligned inside the header; the logo is animated (a blinking eye). On macOS desktop the header is a bare drag strip (brand hidden, traffic lights + resident floating toggle over it)
New chatfull-width left-aligned button (custom)same rhythm as the session rows in the list (left-aligned, hover = --sb-hover). Do not use Button (centered, breaks the rhythm)
Searchbare search row (custom)no border, hover/focus shows a sunken background; icon + label, with the Kbd keycaps (⌘K / Ctrl K) pushed to the trailing edge — label and shortcut are justified apart. Do not use Input (the 38px bordered version is too heavy). Last fixed row above the list — its wrapper carries the scroll-linked seam
Section label.p-section-labeluppercase muted small titles like "Workspaces"
Workspace head / session rowsee next two sectionsshare --sb-* alignment
Settings footerfull-width left-aligned button (custom)pinned row under the session list, separated by a 1px --line top border; icon + label, same list-style family as New chat
!
Why New chat / search / inline rename don't use Button / Input: they are "list-style" controls (full-width, left-aligned, compact, borderless), while Button is centered and Input is a 38px bordered control — forcing them in would break the sidebar's visual density and alignment. This is an intentional custom exception, not an oversight.

Session row

A session row is an inset rounded pill, structured as: status slot → title → time → attention Badge → kebab.

PartRule
Containerpadding: 8px 8px inside the list's --sb-inset gutter, radius-sm; no fixed/min height — row height is font-driven (title line-height: --leading-tight, ≈16px) → ≈32px total, the sidebar-wide row rhythm. The hover kebab is absolutely positioned so it never forces the row taller (no hover jitter). hover = --sb-hover (the global --color-hover wash); active = --color-selected — neutral, no accent tint, no border, no weight change
Status slot (lead)fixed --sb-gutter width; running = Spinner sm, otherwise unread = 7px accent dot
Titleflex:1 with truncation; double-click enters inline rename (compact input, not Input)
Timemono xs, fg-faint; yields to the kebab on hover
Attention BadgeBadge sm: info (needs answer) / warning (needs approval) / danger (aborted)
kebabIconButton sm, shown on hover; dropdown uses Menu/MenuItem
Archive confirmationreplaces the title area, Button sm (danger confirm / secondary cancel)

Workspace group

The group head and session rows share --sb-*: folder icon (open/closed) → name, with the kebab and "+" revealed on hover.

Show more & collapse

The "load more / show less" control at the bottom of each workspace group is a session-row-shaped compact list control (same family as search, New chat, inline rename — not a Button). It doubles as the pagination trigger and the in-group expand / collapse toggle.

PartRule
Containersession-row pill: display:flex; gap:--sb-gap; padding:8px …, no fixed/min height (font-driven, ≈32px like a session row), same padding as a session row, radius-sm; hover = --sb-hover (no text recolor); :focus-visible uses --p-focus-ring
Lead slotempty, --sb-gutter wide, so the label's start x aligns with the session titles (--sb-pad-x + --sb-gutter + --sb-gap)
Labelfont-ui, text-xs, --color-text; flex:1, truncated
Behavior"Load more" fetches the next page and auto-expands; once more than the first page is loaded, "Show less" appears and collapses back to the first page (view-layer trim — data is kept, no refetch); "Show all" re-expands

ResizeHandle

A 4px vertical drag bar, layered over the 1px column border (margin: 0 -2px makes the whole 4px grabbable), turning accent on hover / drag.

RuleValue
Width / cursor4px / col-resize
Normal / activetransparent / accent fill
Layer--z-dropdown, above pane-level sticky chrome (chat dock at --z-sticky) so the overhang stays visible and grabbable
Behaviorpanel width follows the pointer 1:1 while dragging (the parent disables transitions to avoid lag); on release it is persisted to localStorage

Right panel

The right panels (file preview / Diff / thinking / sub-agent / side chat) share one track and one head primitive.

i
One-sentence principle: the sidebar / shell is a "list + grid" skeleton that reuses the §02 tokens and §03 primitives (Button / IconButton / Badge / Kbd / Menu / Spinner / PanelHeader); compact list controls that don't fit a primitive (search, New chat, inline rename, show-more) keep their custom form, governed by this section.
08

Accessibility (pragmatic edition)

Kimi Web is a local developer tool; it does not target a specific WCAG conformance level, nor maintain a full screen-reader QA matrix. This section collects only the rules that are "low-cost, don't hurt the look, and directly benefit keyboard-heavy users", as the baseline contract for each primitive; the more expensive, lower-ROI parts (such as real-time announcement orchestration for streaming output) are not mandatory for now.

i
On the "ugly" focus ring: the focus visibility required below always uses :focus-visible (not :focus). It appears only on keyboard focus; mouse clicks don't trigger it, so it doesn't pollute the mouse-driven visual; the ring's strength is tuned uniformly with --p-focus-ring, not overridden per place.

1. Contrast & color

2. Keyboard operable

Anything doable with a mouse must also be doable with a keyboard; Tab order follows the DOM, with no invented skipping. Composite controls define their keyboard model per the table below; a missing model is treated as incomplete:

ControlKeyboard behavior
DialogTab cycles within the dialog (focus trap); Esc closes; focus returns to the trigger element after closing.
Menu / move the highlight, Enter selects, Esc closes.
Tabs / switch tabs (roving tabindex); only the current tab is in the Tab sequence.
Switch / Segmented / or Space / Enter to toggle.
ComposerOn touch-primary devices (pointer: coarse) Enter inserts a newline (send via the button) and Ctrl+S steer is disabled; a detected hardware keyboard restores both.

3. Focus visibility

4. Labels & semantics

5. Target size

Desktop click targets ≥ 32px; touch devices ≥ 44px (consistent with the §01 principle and the IconButton lg tier).

6. Reduced motion

Handled uniformly in the global styles per §02's @media (prefers-reduced-motion: reduce); components do not check this individually. The MoonSpinner moon phase pauses on the current frame.

7. Live announcements (non-mandatory)

Screen-reader announcements are not a mandatory contract in this product. Short hints like Toast can use role="status" / aria-live; chat streaming output is currently not announced word-by-word, which is an acceptable trade-off, to be added later if a real need arises.

Explicitly not mandatory for now: a WCAG conformance-level claim, a complete ARIA pattern table, a per-screen-reader QA matrix, and real-time announcement orchestration for streaming output — these are not written into the primitive contract, to avoid becoming slogans no one maintains.
`,4))])])])]))}}),ga=x(va,[["__scopeId","data-v-68e41541"]]);export{ga as default}; diff --git a/apps/kimi-code/dist-web/assets/DesignSystemView-eIdeAonz.css b/apps/kimi-code/dist-web/assets/DesignSystemView-eIdeAonz.css deleted file mode 100644 index c1e9de06dd..0000000000 --- a/apps/kimi-code/dist-web/assets/DesignSystemView-eIdeAonz.css +++ /dev/null @@ -1 +0,0 @@ -.ds-page[data-v-40168b71]{--d-bg: var(--color-bg);--d-surface: var(--color-surface);--d-surface-2: var(--color-surface-sunken);--d-surface-3: var(--color-line);--d-fg: var(--color-text);--d-fg-soft: var(--color-text-muted);--d-fg-muted: var(--color-text-muted);--d-fg-faint: var(--color-text-faint);--d-line: var(--color-line);--d-line-2: var(--color-line);--d-accent: var(--color-accent);--d-accent-2: var(--color-accent-hover);--d-accent-soft: var(--color-accent-soft);--d-accent-bd: var(--color-accent-bd);--d-green: var(--color-success);--d-green-soft: var(--color-success-soft);--d-amber: var(--color-warning);--d-amber-soft: var(--color-warning-soft);--d-red: var(--color-danger);--d-red-soft: var(--color-danger-soft);--d-violet: var(--color-done);--d-code-bg: var(--color-surface-sunken);--d-sidebar: var(--color-surface);--d-shadow-sm: var(--shadow-sm);--d-shadow-md: var(--shadow-md);--d-shadow-lg: var(--shadow-lg);--sidebar-w: var(--p-sidebar-w);--content-max: var(--p-content-wide)}.ds-page[data-v-40168b71] *,.ds-page[data-v-40168b71] *:before,.ds-page[data-v-40168b71] *:after{box-sizing:border-box}.ds-page[data-v-40168b71]{scroll-behavior:smooth}.ds-page[data-v-40168b71]{margin:0;background:var(--d-bg);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1[data-v-40168b71],h2[data-v-40168b71],h3[data-v-40168b71],h4[data-v-40168b71]{color:var(--d-fg);letter-spacing:-.01em;line-height:1.25;margin:0}p[data-v-40168b71]{margin:0 0 14px;color:var(--d-fg-soft)}a[data-v-40168b71]{color:var(--d-accent-2);text-decoration:none}a[data-v-40168b71]:hover{text-decoration:underline}code[data-v-40168b71],pre[data-v-40168b71],.mono[data-v-40168b71]{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace}code[data-v-40168b71]{background:var(--d-code-bg);border:1px solid var(--d-line-2);border-radius:5px;padding:1px 6px;font-size:.88em;color:#1f2937;white-space:nowrap}.layout[data-v-40168b71]{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh}.sidebar[data-v-40168b71]{position:sticky;top:0;align-self:start;height:100vh;background:var(--d-sidebar);border-right:1px solid var(--d-line);padding:26px 22px;overflow-y:auto}.brand[data-v-40168b71]{display:flex;align-items:center;gap:10px;margin-bottom:6px}.brand-mark[data-v-40168b71]{width:26px;height:26px;border-radius:7px;flex:none;background:var(--d-fg);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:-.04em}.brand-name[data-v-40168b71]{font-weight:700;font-size:15px;letter-spacing:-.01em}.brand-sub[data-v-40168b71]{font-size:12px;color:var(--d-fg-faint);margin-bottom:26px;padding-left:36px}.nav-group[data-v-40168b71]{margin:22px 0 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--d-fg-faint)}.p-section-label[data-v-40168b71]{font-size:12px;font-weight:400;text-transform:uppercase;color:var(--d-fg-faint)}.nav a[data-v-40168b71]{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--d-fg-soft);margin:1px 0;transition:background .15s,color .15s}.nav a .num[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--d-fg-faint);width:18px}.nav a[data-v-40168b71]:hover{background:var(--d-surface-2);color:var(--d-fg);text-decoration:none}.nav a.active[data-v-40168b71]{background:var(--d-accent-soft);color:var(--d-accent-2)}.nav a.active .num[data-v-40168b71]{color:var(--d-accent-2)}.content[data-v-40168b71]{min-width:0}.content-inner[data-v-40168b71]{max-width:var(--content-max);margin:0 auto;padding:64px 56px 120px}section[data-v-40168b71]{scroll-margin-top:32px;padding-top:8px}section+section[data-v-40168b71]{margin-top:72px}.hero[data-v-40168b71]{padding:8px 0 40px;border-bottom:1px solid var(--d-line);margin-bottom:56px}.eyebrow[data-v-40168b71]{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--d-fg);background:#1783ff1a;border:none;padding:6px 12px;border-radius:8px;margin-bottom:22px}.hero h1[data-v-40168b71]{font-size:48px;font-weight:600;line-height:1.08;letter-spacing:-.025em;margin-bottom:18px}.hero h1 .grad[data-v-40168b71]{color:var(--d-accent)}.hero p.lead[data-v-40168b71]{font-size:18px;line-height:1.6;color:var(--d-fg-soft);max-width:680px}.hero-meta[data-v-40168b71]{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.meta-chip[data-v-40168b71]{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--d-fg-muted);background:var(--d-surface);border:1px solid var(--d-line);border-radius:8px;padding:7px 12px}.meta-chip b[data-v-40168b71]{color:var(--d-fg);font-weight:600}.meta-chip .dot[data-v-40168b71]{width:7px;height:7px;border-radius:50%;background:var(--d-green)}.sec-head[data-v-40168b71]{display:flex;align-items:baseline;gap:14px;margin-bottom:8px}.sec-num[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:var(--d-accent-2)}.sec-title[data-v-40168b71]{font-size:26px;letter-spacing:-.02em}.sec-desc[data-v-40168b71]{font-size:15.5px;color:var(--d-fg-muted);max-width:720px;margin-bottom:28px}h3.sub[data-v-40168b71]{font-size:17px;margin:40px 0 14px;display:flex;align-items:center;gap:10px}h3.sub[data-v-40168b71]:before{content:"";width:4px;height:16px;border-radius:2px;background:var(--d-accent)}h4.mini[data-v-40168b71]{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--d-fg-muted);margin:24px 0 12px}.stat-grid[data-v-40168b71]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.stat[data-v-40168b71]{background:var(--d-surface);border:1px solid var(--d-line);border-radius:14px;padding:18px 18px 16px}.stat .v[data-v-40168b71]{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--d-fg)}.stat .v small[data-v-40168b71]{font-size:16px;color:var(--d-fg-muted);font-weight:600}.stat .l[data-v-40168b71]{font-size:12.5px;color:var(--d-fg-muted);margin-top:8px;line-height:1.4}.stat.warn[data-v-40168b71]{background:var(--d-amber-soft);border-color:#f0d9b8}.stat.warn .v[data-v-40168b71]{color:var(--d-amber)}.stat.bad[data-v-40168b71]{background:var(--d-red-soft);border-color:#f0cccc}.stat.bad .v[data-v-40168b71]{color:var(--d-red)}.stat.good[data-v-40168b71]{background:var(--d-green-soft);border-color:#bfe3cc}.stat.good .v[data-v-40168b71]{color:var(--d-green)}.panel[data-v-40168b71]{background:var(--d-bg);border:1px solid var(--d-line);border-radius:16px;box-shadow:var(--d-shadow-sm)}.panel-pad[data-v-40168b71]{padding:22px}.panel-soft[data-v-40168b71]{background:var(--d-surface);border:1px solid var(--d-line);border-radius:14px}.callout[data-v-40168b71]{display:flex;gap:12px;padding:14px 16px;border-radius:12px;font-size:14px;line-height:1.55;background:var(--d-surface);border:1px solid var(--d-line);color:var(--d-fg-soft);margin:18px 0}.callout .ico[data-v-40168b71]{flex:none;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:800}.callout.info[data-v-40168b71]{background:var(--d-accent-soft);border-color:var(--d-accent-bd)}.callout.info .ico[data-v-40168b71]{background:var(--d-accent);color:#fff}.callout.warn[data-v-40168b71]{background:var(--d-amber-soft);border-color:#f0d9b8}.callout.warn .ico[data-v-40168b71]{background:var(--d-amber);color:#fff}.callout.good[data-v-40168b71]{background:var(--d-green-soft);border-color:#bfe3cc}.callout.good .ico[data-v-40168b71]{background:var(--d-green);color:#fff}table.dt[data-v-40168b71]{width:100%;border-collapse:collapse;font-size:13.5px;margin:16px 0}table.dt th[data-v-40168b71]{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--d-fg-faint);font-weight:700;padding:10px 12px;border-bottom:1px solid var(--d-line)}table.dt td[data-v-40168b71]{padding:11px 12px;border-bottom:1px solid var(--d-line-2);color:var(--d-fg-soft);vertical-align:middle}table.dt tr:last-child td[data-v-40168b71]{border-bottom:none}table.dt td.tk[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--d-fg);white-space:nowrap}table.dt td.val[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-muted)}.swatch[data-v-40168b71]{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.08);vertical-align:-3px;margin-right:8px}.palette[data-v-40168b71]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.color-card[data-v-40168b71]{border:1px solid var(--d-line);border-radius:12px;overflow:hidden;background:var(--d-bg)}.color-chip[data-v-40168b71]{height:56px;border-bottom:1px solid var(--d-line)}.color-meta[data-v-40168b71]{padding:10px 12px 12px}.color-meta .cn[data-v-40168b71]{font-size:13px;font-weight:600;color:var(--d-fg)}.color-meta .cv[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--d-fg-muted);margin-top:2px}.type-row[data-v-40168b71]{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--d-line-2)}.type-row[data-v-40168b71]:last-child{border-bottom:none}.type-sample[data-v-40168b71]{flex:1;color:var(--d-fg);line-height:1.2}.type-meta[data-v-40168b71]{width:190px;flex:none;text-align:right;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-muted)}.space-row[data-v-40168b71]{display:flex;align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--d-line-2)}.space-row[data-v-40168b71]:last-child{border-bottom:none}.space-bar[data-v-40168b71]{height:18px;border-radius:4px;background:linear-gradient(90deg,var(--d-accent),var(--d-accent-2));flex:none}.space-meta[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--d-fg-soft);width:150px}.space-use[data-v-40168b71]{font-size:12.5px;color:var(--d-fg-muted)}.radius-grid[data-v-40168b71]{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-end;margin:16px 0}.radius-item[data-v-40168b71]{display:flex;flex-direction:column;align-items:center;gap:10px}.radius-box[data-v-40168b71]{width:64px;height:64px;border:2px solid var(--d-accent);background:var(--d-accent-soft)}.radius-item .rl[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-soft)}.stage-wrap[data-v-40168b71]{border:1px solid var(--d-line);border-radius:16px;overflow:hidden;margin:18px 0;background:var(--d-bg);box-shadow:var(--d-shadow-sm)}.stage-bar[data-v-40168b71]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--d-line);background:var(--d-surface)}.stage-bar .st[data-v-40168b71]{font-size:13px;font-weight:600;color:var(--d-fg);display:flex;align-items:center;gap:8px}.stage-bar .st .tag[data-v-40168b71]{font-size:10.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:999px}.tag.after[data-v-40168b71]{background:var(--d-green-soft);color:var(--d-green)}.tag.before[data-v-40168b71]{background:var(--d-red-soft);color:var(--d-red)}.tag.spec[data-v-40168b71]{background:var(--d-accent-soft);color:var(--d-accent-2)}.stage-bar .sactions[data-v-40168b71]{display:flex;gap:6px}.tab[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:11.5px;padding:4px 10px;border-radius:6px;color:var(--d-fg-muted);cursor:default}.tab.on[data-v-40168b71]{background:var(--d-bg);color:var(--d-fg);border:1px solid var(--d-line)}.stage[data-v-40168b71]{padding:32px;display:flex;flex-wrap:wrap;align-items:center;gap:16px;background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.045) 1px,transparent 0) 0 0 / 18px 18px,var(--d-surface)}.stage.col[data-v-40168b71]{flex-direction:column;align-items:stretch}.stage.dark[data-v-40168b71]{background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0) 0 0 / 18px 18px,#0d1117}.stage-label[data-v-40168b71]{width:100%;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d-fg-faint);margin-bottom:-6px}.stage.dark .stage-label[data-v-40168b71]{color:#6b7280}.ba[data-v-40168b71]{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--d-line);border-radius:16px;overflow:hidden;margin:18px 0;box-shadow:var(--d-shadow-sm)}.ba-col[data-v-40168b71]{min-width:0}.ba-col+.ba-col[data-v-40168b71]{border-left:1px solid var(--d-line)}.ba-head[data-v-40168b71]{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--d-line)}.ba-head.before[data-v-40168b71]{background:var(--d-red-soft)}.ba-head.after[data-v-40168b71]{background:var(--d-green-soft)}.ba-head .bh[data-v-40168b71]{font-size:13px;font-weight:700}.ba-head.before .bh[data-v-40168b71]{color:var(--d-red)}.ba-head.after .bh[data-v-40168b71]{color:var(--d-green)}.ba-head .bh small[data-v-40168b71]{font-weight:500;opacity:.7;margin-left:6px}.ba-body[data-v-40168b71]{padding:24px;background:var(--d-surface);min-height:120px}.ba-col.after .ba-body[data-v-40168b71]{background:#fff}.code[data-v-40168b71]{background:#0d1117;border-radius:12px;overflow:hidden;margin:16px 0;border:1px solid #1c2128}.code-bar[data-v-40168b71]{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#161b22;border-bottom:1px solid #1c2128}.code-bar .d[data-v-40168b71]{width:10px;height:10px;border-radius:50%;background:#30363d}.code-bar .fn[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:11.5px;color:#8b949e;margin-left:4px}.code pre[data-v-40168b71]{margin:0;padding:18px;overflow-x:auto;font-size:12.5px;line-height:1.7;color:#c9d1d9}.code .c[data-v-40168b71]{color:#8b949e}.code .k[data-v-40168b71]{color:#ff7b72}.code .s[data-v-40168b71]{color:#a5d6ff}.code .p[data-v-40168b71]{color:#79c0ff}.code .n[data-v-40168b71]{color:#d2a8ff}.code .v[data-v-40168b71]{color:#ffa657}.pill[data-v-40168b71]{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;border:1px solid var(--d-line);background:var(--d-surface);color:var(--d-fg-soft)}.pill.blue[data-v-40168b71]{background:var(--d-accent-soft);border-color:var(--d-accent-bd);color:var(--d-accent-2)}.pill.green[data-v-40168b71]{background:var(--d-green-soft);border-color:#bfe3cc;color:var(--d-green)}.pill.amber[data-v-40168b71]{background:var(--d-amber-soft);border-color:#f0d9b8;color:var(--d-amber)}.pill.red[data-v-40168b71]{background:var(--d-red-soft);border-color:#f0cccc;color:var(--d-red)}.pill.mono[data-v-40168b71]{font-family:JetBrains Mono,monospace}ul.clean[data-v-40168b71]{list-style:none;padding:0;margin:14px 0}ul.clean li[data-v-40168b71]{position:relative;padding:8px 0 8px 26px;color:var(--d-fg-soft);border-bottom:1px solid var(--d-line-2)}ul.clean li[data-v-40168b71]:last-child{border-bottom:none}ul.clean li[data-v-40168b71]:before{content:"";position:absolute;left:4px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--d-accent)}ul.clean.check li[data-v-40168b71]:before{content:"✓";background:none;color:var(--d-green);font-weight:800;top:7px;left:0;font-size:14px}ul.clean.cross li[data-v-40168b71]:before{content:"✕";background:none;color:var(--d-red);font-weight:800;top:7px;left:0;font-size:13px}ul.clean li b[data-v-40168b71]{color:var(--d-fg)}ul.clean li .path[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--d-fg-muted)}.roadmap[data-v-40168b71]{position:relative;margin:24px 0}.phase[data-v-40168b71]{position:relative;display:grid;grid-template-columns:120px 1fr;gap:24px;padding:0 0 32px}.phase[data-v-40168b71]:not(:last-child):after{content:"";position:absolute;left:59px;top:36px;bottom:0;width:2px;background:var(--d-line)}.phase-tag[data-v-40168b71]{text-align:right;padding-top:4px}.phase-tag .pt[data-v-40168b71]{display:inline-block;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:var(--d-accent-2);background:var(--d-accent-soft);border:1px solid var(--d-accent-bd);padding:5px 10px;border-radius:8px}.phase-tag .pe[data-v-40168b71]{font-size:11.5px;color:var(--d-fg-faint);margin-top:8px}.phase-body[data-v-40168b71]{background:var(--d-bg);border:1px solid var(--d-line);border-radius:14px;padding:18px 20px;box-shadow:var(--d-shadow-sm)}.phase-body h4[data-v-40168b71]{font-size:16px;margin-bottom:8px}.phase-body p[data-v-40168b71]{font-size:14px;margin-bottom:12px}.phase-body ul[data-v-40168b71]{margin:0}.matrix[data-v-40168b71]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.anti[data-v-40168b71]{border:1px solid var(--d-line);border-radius:12px;padding:16px;background:var(--d-bg)}.anti .ah[data-v-40168b71]{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;margin-bottom:8px}.anti .ah .verdict[data-v-40168b71]{margin-left:auto;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px}.verdict.pass[data-v-40168b71]{background:var(--d-green-soft);color:var(--d-green)}.verdict.fail[data-v-40168b71]{background:var(--d-red-soft);color:var(--d-red)}.verdict.warn[data-v-40168b71]{background:var(--d-amber-soft);color:var(--d-amber)}.anti p[data-v-40168b71]{font-size:13px;margin:0;color:var(--d-fg-muted)}.footer[data-v-40168b71]{margin-top:80px;padding-top:28px;border-top:1px solid var(--d-line);font-size:13px;color:var(--d-fg-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.kbd[data-v-40168b71]{font-family:JetBrains Mono,monospace;font-size:11px;background:var(--d-surface-2);border:1px solid var(--d-line);border-bottom-width:2px;border-radius:5px;padding:1px 6px}@media(max-width:980px){.layout[data-v-40168b71]{grid-template-columns:1fr}.sidebar[data-v-40168b71]{position:static;height:auto}.nav[data-v-40168b71]{display:flex;flex-wrap:wrap;gap:4px}.content-inner[data-v-40168b71]{padding:40px 22px 80px}.stat-grid[data-v-40168b71]{grid-template-columns:repeat(2,1fr)}.ba[data-v-40168b71]{grid-template-columns:1fr}.ba-col+.ba-col[data-v-40168b71]{border-left:none;border-top:1px solid var(--d-line)}.palette[data-v-40168b71]{grid-template-columns:repeat(2,1fr)}.matrix[data-v-40168b71]{grid-template-columns:1fr}}.ds-page .p[data-v-40168b71],.ds-page .stage.p-skin[data-v-40168b71],.ds-page [data-p][data-v-40168b71]{--p-font-sans: var(--font-ui);--p-font-mono: var(--font-mono);--p-bg: var(--color-bg);--p-surface: var(--color-surface);--p-surface-raised: var(--color-surface-raised);--p-surface-sunken: var(--color-surface-sunken);--p-text: var(--color-text);--p-text-muted: var(--color-text-muted);--p-text-faint: var(--color-text-faint);--p-text-on-accent: var(--color-text-on-accent);--p-line: var(--color-line);--p-line-strong: var(--color-line-strong);--p-accent: var(--color-accent);--p-accent-hover: var(--color-accent-hover);--p-accent-soft: var(--color-accent-soft);--p-accent-bd: var(--color-accent-bd);--p-success: var(--color-success);--p-success-soft: var(--color-success-soft);--p-success-bd: var(--color-success-bd);--p-warning: var(--color-warning);--p-warning-soft: var(--color-warning-soft);--p-warning-bd: var(--color-warning-bd);--p-danger: var(--color-danger);--p-danger-soft: var(--color-danger-soft);--p-danger-bd: var(--color-danger-bd);--p-info: var(--color-info);--p-sp-1: var(--space-1);--p-sp-2: var(--space-2);--p-sp-3: var(--space-3);--p-sp-4: var(--space-4);--p-sp-5: var(--space-5);--p-sp-6: var(--space-6);--p-sp-8: var(--space-8);--p-r-xs: var(--radius-xs);--p-r-sm: var(--radius-sm);--p-r-md: var(--radius-md);--p-r-lg: var(--radius-lg);--p-r-xl: var(--radius-xl);--p-r-2xl: var(--radius-2xl);--p-r-full: var(--radius-full);--p-sh-xs: var(--shadow-xs);--p-sh-sm: var(--shadow-sm);--p-sh-md: var(--shadow-md);--p-sh-lg: var(--shadow-lg);--p-sh-xl: var(--shadow-xl);--p-font-size-xs: var(--text-xs);--p-font-size-sm: var(--text-sm);--p-font-size-base: var(--text-base);--p-font-size-md: var(--text-base);--p-font-size-lg: var(--text-lg);--p-font-size-xl: var(--text-xl);--p-font-size-2xl: var(--text-2xl);--p-leading-tight: var(--leading-tight);--p-leading-normal: var(--leading-normal);--p-leading-relaxed: var(--leading-relaxed);--p-ease: var(--ease-out);--p-ease-inout: var(--ease-in-out);--p-dur-fast: var(--duration-fast);--p-dur: var(--duration-base);--p-dur-slow: var(--duration-slow);font-family:var(--font-ui);color:var(--color-text);font-size:var(--text-base)}.ds-page [data-p=dark][data-v-40168b71]{--p-bg: #0d1117;--p-surface: #161b22;--p-surface-raised: #1c2128;--p-surface-sunken: #0d1117;--p-text: #c9cdd4;--p-text-muted: #9aa0a8;--p-text-faint: #6b7280;--p-text-on-accent: #ffffff;--p-line: #2d333b;--p-line-strong: #3d444d;--p-accent: #58a6ff;--p-accent-hover: #79b8ff;--p-accent-soft: rgba(88,166,255,.14);--p-accent-bd: rgba(88,166,255,.28);--p-success: #3fb950;--p-success-soft: rgba(63,185,80,.14);--p-success-bd: rgba(63,185,80,.28);--p-warning: #d29922;--p-warning-soft: rgba(210,153,34,.14);--p-warning-bd: rgba(210,153,34,.28);--p-danger: #f85149;--p-danger-soft: rgba(248,81,73,.14);--p-danger-bd: rgba(248,81,73,.28);--p-sh-sm: 0 1px 2px rgba(0,0,0,.4);--p-sh-md: 0 4px 12px rgba(0,0,0,.45);--p-sh-lg: 0 12px 32px rgba(0,0,0,.55);--p-selection: rgba(88,166,255,.32)}.p-ic[data-v-40168b71]{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle}.p-btn[data-v-40168b71]{--_h: 36px;--_px: 16px;--_fs: var(--p-font-size-base);--_r: var(--p-r-md);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--_h);padding:0 var(--_px);border-radius:var(--_r);font-family:var(--p-font-sans);font-size:var(--_fs);font-weight:600;line-height:1;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease),box-shadow var(--p-dur) var(--p-ease),transform var(--p-dur-fast) var(--p-ease)}.p-btn[data-v-40168b71]:active{transform:scale(.98)}.p-btn[data-v-40168b71]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--p-accent-soft),0 0 0 1px var(--p-accent)}.p-btn .p-ic[data-v-40168b71]{width:16px;height:16px}.p-btn.sm[data-v-40168b71]{--_h: 30px;--_px: 12px;--_fs: var(--p-font-size-sm);--_r: var(--p-r-sm)}.p-btn.sm .p-ic[data-v-40168b71]{width:14px;height:14px}.p-btn.lg[data-v-40168b71]{--_h: 42px;--_px: 20px;--_fs: var(--p-font-size-md);--_r: var(--p-r-lg)}.p-btn.primary[data-v-40168b71]{background:var(--p-accent);color:var(--p-text-on-accent);border-color:var(--p-accent);box-shadow:var(--p-sh-xs)}.p-btn.primary[data-v-40168b71]:hover{background:var(--p-accent-hover);border-color:var(--p-accent-hover)}.p-btn.secondary[data-v-40168b71]{background:var(--p-surface-raised);color:var(--p-text);border-color:var(--p-line-strong);box-shadow:var(--p-sh-xs)}.p-btn.secondary[data-v-40168b71]:hover{background:var(--p-surface-sunken);border-color:var(--p-line-strong)}.p-btn.ghost[data-v-40168b71]{background:transparent;color:var(--p-text);border-color:transparent}.p-btn.ghost[data-v-40168b71]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-btn.danger[data-v-40168b71]{background:var(--p-danger);color:#fff;border-color:var(--p-danger);box-shadow:var(--p-sh-xs)}.p-btn.danger[data-v-40168b71]:hover{filter:brightness(.96)}.p-btn.danger-soft[data-v-40168b71]{background:var(--p-danger-soft);color:var(--p-danger);border-color:var(--p-danger-bd)}.p-btn.danger-soft[data-v-40168b71]:hover{background:var(--p-danger);color:#fff;border-color:var(--p-danger)}.p-btn[disabled][data-v-40168b71],.p-btn.disabled[data-v-40168b71]{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.p-icon-btn[data-v-40168b71]{--_s: 32px;display:inline-grid;place-items:center;width:var(--_s);height:var(--_s);flex:none;border-radius:var(--p-r-md);border:1px solid transparent;background:transparent;color:var(--p-text-muted);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-icon-btn[data-v-40168b71]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-icon-btn[data-v-40168b71]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--p-accent-soft)}.p-icon-btn.sm[data-v-40168b71]{--_s: 26px;border-radius:var(--p-r-sm)}.p-icon-btn.lg[data-v-40168b71]{--_s: 44px}.p-icon-btn .p-ic[data-v-40168b71]{width:16px;height:16px}.p-icon-btn.lg .p-ic[data-v-40168b71]{width:20px;height:20px}.p-badge[data-v-40168b71]{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 9px;border-radius:var(--p-r-full);font-family:var(--p-font-sans);font-size:var(--p-font-size-xs);font-weight:600;line-height:1;border:1px solid var(--p-line);background:var(--p-surface);color:var(--p-text);white-space:nowrap}.p-badge.sm[data-v-40168b71]{height:18px;padding:0 7px;font-size:11px}.p-badge .bd[data-v-40168b71]{width:7px;height:7px;border-radius:50%;background:currentColor}.p-badge.neutral[data-v-40168b71]{background:var(--p-surface-sunken);border-color:var(--p-line);color:var(--p-text-muted)}.p-badge.info[data-v-40168b71]{background:var(--p-accent-soft);border-color:var(--p-accent-bd);color:var(--p-accent-hover)}.p-badge.success[data-v-40168b71]{background:var(--p-success-soft);border-color:var(--p-success-bd);color:var(--p-success)}.p-badge.warning[data-v-40168b71]{background:var(--p-warning-soft);border-color:var(--p-warning-bd);color:var(--p-warning)}.p-badge.danger[data-v-40168b71]{background:var(--p-danger-soft);border-color:var(--p-danger-bd);color:var(--p-danger)}.p-badge.solid[data-v-40168b71]{background:var(--p-text);color:var(--p-bg);border-color:var(--p-text)}.p-badge .p-ic[data-v-40168b71]{width:12px;height:12px}.p-kbd[data-v-40168b71]{display:inline-flex;align-items:center;gap:3px}.p-kbd kbd[data-v-40168b71]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--p-line);border-bottom-width:2px;border-radius:var(--p-r-xs);background:var(--p-surface-sunken);color:var(--p-text-muted);font-family:var(--p-font-sans);font-size:11px;line-height:1}.p-pill[data-v-40168b71]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--p-r-md);border:1px solid transparent;background:transparent;font-family:var(--p-font-sans);font-size:var(--p-font-size-sm);font-weight:500;color:var(--p-text);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-pill[data-v-40168b71]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-pill .pp-strong[data-v-40168b71]{font-weight:700;color:var(--p-text)}.p-pill .pp-sub[data-v-40168b71]{color:var(--p-accent);font-weight:600}.p-pill .p-ic[data-v-40168b71]{width:14px;height:14px;color:var(--p-text-faint)}.p-card[data-v-40168b71]{background:var(--p-surface);border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden;color:var(--p-text)}.p-card.interactive[data-v-40168b71]{transition:background var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease);cursor:pointer}.p-card.interactive[data-v-40168b71]:hover{background:var(--p-surface);border-color:var(--p-line-strong)}.p-card-head[data-v-40168b71]{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--p-line);background:var(--p-surface)}.p-card-title[data-v-40168b71]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text);font-family:var(--p-font-mono)}.p-card-body[data-v-40168b71]{padding:14px;font-size:var(--p-font-size-base);color:var(--p-text);line-height:var(--p-leading-normal)}.p-card-foot[data-v-40168b71]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--p-line);background:var(--p-surface)}.p-field[data-v-40168b71]{display:flex;flex-direction:column;gap:6px}.p-label[data-v-40168b71]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-input[data-v-40168b71],.p-select[data-v-40168b71],.p-textarea[data-v-40168b71]{width:100%;height:38px;padding:0 12px;border-radius:var(--p-r-md);border:1px solid var(--p-line-strong);background:var(--p-surface-raised);font-family:var(--p-font-sans);font-size:var(--p-font-size-base);color:var(--p-text);box-shadow:var(--p-sh-xs);transition:border-color var(--p-dur) var(--p-ease),box-shadow var(--p-dur) var(--p-ease)}.p-textarea[data-v-40168b71]{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:var(--p-leading-normal)}.p-input[data-v-40168b71]:hover,.p-select[data-v-40168b71]:hover,.p-textarea[data-v-40168b71]:hover{border-color:var(--p-line-strong)}.p-input[data-v-40168b71]:focus,.p-select[data-v-40168b71]:focus,.p-textarea[data-v-40168b71]:focus{outline:none;border-color:var(--p-accent);box-shadow:0 0 0 3px var(--p-accent-soft)}.p-input[data-v-40168b71]::placeholder,.p-textarea[data-v-40168b71]::placeholder{color:var(--p-text-faint)}.p-input.sm[data-v-40168b71]{height:32px;font-size:var(--p-font-size-sm);border-radius:var(--p-r-sm)}.p-hint[data-v-40168b71]{font-size:var(--p-font-size-xs);color:var(--p-text-faint)}.p-dialog[data-v-40168b71]{width:480px;max-width:calc(100vw - 48px);background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-xl);box-shadow:var(--p-sh-xl);overflow:hidden;color:var(--p-text)}.p-dialog-head[data-v-40168b71]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 14px}.p-dialog-title[data-v-40168b71]{font-size:var(--p-font-size-lg);font-weight:700;letter-spacing:-.01em}.p-dialog-desc[data-v-40168b71]{font-size:var(--p-font-size-base);color:var(--p-text-muted);margin-top:4px;line-height:var(--p-leading-normal)}.p-dialog-body[data-v-40168b71]{padding:4px 22px 18px}.p-dialog-foot[data-v-40168b71]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.p-toast[data-v-40168b71]{display:flex;align-items:flex-start;gap:11px;width:360px;padding:13px 14px;background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-lg);box-shadow:var(--p-sh-md)}.p-toast .ti[data-v-40168b71]{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none;margin-top:1px}.p-toast.success .ti[data-v-40168b71]{background:var(--p-success-soft);color:var(--p-success)}.p-toast.warning .ti[data-v-40168b71]{background:var(--p-warning-soft);color:var(--p-warning)}.p-toast .tt[data-v-40168b71]{font-size:var(--p-font-size-base);font-weight:600;color:var(--p-text)}.p-toast .td[data-v-40168b71]{font-size:var(--p-font-size-sm);color:var(--p-text-muted);margin-top:2px;line-height:1.45}.p-spinner[data-v-40168b71]{width:18px;height:18px;animation:p-spin-40168b71 .85s linear infinite}.p-spinner.sm[data-v-40168b71]{width:14px;height:14px}.p-spinner circle[data-v-40168b71]{fill:none;stroke-width:2.2;stroke-linecap:round}.p-spinner .track[data-v-40168b71]{stroke:var(--p-line)}.p-spinner .arc[data-v-40168b71]{stroke:var(--p-accent);stroke-dasharray:56 56;stroke-dashoffset:38}@keyframes p-spin-40168b71{to{transform:rotate(360deg)}}.p-thinking[data-v-40168b71]{display:inline-flex;align-items:center;gap:9px;font-size:var(--p-font-size-sm);color:var(--p-text-muted);font-family:var(--p-font-sans)}.p-bubble-user[data-v-40168b71]{align-self:flex-end;max-width:78%;background:var(--p-accent-soft);border:1px solid var(--p-accent-bd);color:var(--p-text);border-radius:18px 18px 5px;padding:11px 15px;font-size:var(--p-font-size-md);line-height:var(--p-leading-normal);box-shadow:var(--p-sh-xs)}.p-msg[data-v-40168b71]{max-width:760px;font-size:var(--p-font-size-md);line-height:var(--p-leading-relaxed);color:var(--p-text)}.p-msg p[data-v-40168b71]{margin:0 0 10px;color:var(--p-text)}.p-msg code[data-v-40168b71]{font-family:var(--p-font-mono);background:var(--p-surface-sunken);border:1px solid var(--p-line);color:var(--p-accent-hover);padding:1px 6px;border-radius:5px;font-size:.9em}.p-agent[data-v-40168b71]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden}.p-agent-head[data-v-40168b71]{display:flex;align-items:center;gap:10px;padding:11px 14px}.p-agent-av[data-v-40168b71]{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--p-surface-sunken);border:1px solid var(--p-line);color:var(--p-text-muted);flex:none}.p-agent-name[data-v-40168b71]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-agent-phase[data-v-40168b71]{font-size:var(--p-font-size-xs);color:var(--p-text-muted)}.p-agent-body[data-v-40168b71]{padding:0 14px 13px}.p-tool[data-v-40168b71]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden}.p-tool-head[data-v-40168b71]{display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--p-surface);border-bottom:1px solid var(--p-line)}.p-tool-ic[data-v-40168b71]{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:var(--p-accent-soft);color:var(--p-accent);flex:none}.p-tool-name[data-v-40168b71]{font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-tool-body[data-v-40168b71]{padding:12px 13px}.p-code[data-v-40168b71]{font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);line-height:1.65;background:var(--p-surface-sunken);border:1px solid var(--p-line);border-radius:var(--p-r-md);padding:11px 13px;color:var(--p-text);overflow-x:auto}.p-action[data-v-40168b71]{border-radius:var(--p-r-md);overflow:hidden;border:1px solid var(--p-accent-bd);background:var(--p-surface)}.p-action.warn[data-v-40168b71]{border-color:var(--p-warning-bd)}.p-action-head[data-v-40168b71]{display:flex;align-items:center;gap:9px;padding:10px 14px;background:var(--p-accent-soft);border-bottom:1px solid var(--p-accent-bd)}.p-action.warn .p-action-head[data-v-40168b71]{background:var(--p-warning-soft);border-bottom-color:var(--p-warning-bd)}.p-action-title[data-v-40168b71]{font-size:var(--p-font-size-base);font-weight:600;color:var(--p-accent-hover)}.p-action.warn .p-action-title[data-v-40168b71]{color:var(--p-warning)}.p-action-body[data-v-40168b71]{padding:14px;font-size:var(--p-font-size-base);color:var(--p-text);line-height:var(--p-leading-normal)}.p-action-foot[data-v-40168b71]{display:flex;justify-content:flex-end;gap:8px;padding:11px 14px;border-top:1px solid var(--p-line);background:var(--p-surface)}.p-todo[data-v-40168b71]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-md);padding:6px}.p-todo-row[data-v-40168b71]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--p-r-md);font-size:var(--p-font-size-base);color:var(--p-text)}.p-todo-row.done[data-v-40168b71]{color:var(--p-text-faint);text-decoration:line-through}.p-todo-row.active[data-v-40168b71]{background:var(--p-accent-soft);color:var(--p-text)}.p-todo-check[data-v-40168b71]{width:16px;flex:none;font-size:var(--p-font-size-base);line-height:1;text-align:center;user-select:none;color:var(--p-text-faint)}.p-todo-row.done .p-todo-check[data-v-40168b71]{color:var(--p-success)}.p-todo-row.active .p-todo-check[data-v-40168b71]{color:var(--p-accent);font-weight:500}.p-dot[data-v-40168b71]{width:7px;height:7px;border-radius:50%;flex:none;background:var(--p-text-faint)}.p-dot.done[data-v-40168b71]{background:var(--p-success)}.p-dot.error[data-v-40168b71]{background:var(--p-danger)}.p-dot.running[data-v-40168b71]{background:var(--p-accent);box-shadow:0 0 0 0 var(--p-accent-soft);animation:p-pulse-40168b71 1.4s ease-out infinite}@keyframes p-pulse-40168b71{0%{box-shadow:0 0 #1783ff66}to{box-shadow:0 0 0 6px #1783ff00}}.p-tool-group[data-v-40168b71]{border:1px solid var(--p-line);border-radius:var(--p-r-md);background:var(--p-surface);overflow:hidden}.p-tool-group-head[data-v-40168b71]{display:flex;align-items:center;gap:8px;height:32px;padding:0 11px;cursor:pointer;font-size:var(--p-font-size-sm);color:var(--p-text-muted);user-select:none}.p-tool-group-head[data-v-40168b71]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-tool-group-head .tg-title[data-v-40168b71]{font-weight:600;color:var(--p-text)}.p-tool-group-head .tg-meta[data-v-40168b71]{color:var(--p-text-faint)}.p-tool-group-head .tg-car[data-v-40168b71]{margin-left:auto;width:14px;height:14px;color:var(--p-text-faint);transition:transform var(--p-dur) var(--p-ease)}.p-tool-group.open .p-tool-group-head .tg-car[data-v-40168b71]{transform:rotate(90deg)}.p-tool-row[data-v-40168b71]{display:flex;align-items:center;gap:8px;height:30px;padding:0 11px;border-top:1px solid var(--p-line-2, var(--p-line));cursor:pointer;font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);color:var(--p-text)}.p-tool-row[data-v-40168b71]:hover{background:var(--p-surface-sunken)}.p-tool-row .tr-ic[data-v-40168b71]{width:14px;height:14px;color:var(--p-text-faint);flex:none}.p-tool-row .tr-name[data-v-40168b71]{font-weight:600;color:var(--p-text);flex:none}.p-tool-row .tr-arg[data-v-40168b71]{color:var(--p-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.p-tool-row .tr-time[data-v-40168b71]{margin-left:auto;color:var(--p-text-faint);font-size:var(--p-font-size-xs);flex:none}.p-tool-row .tr-car[data-v-40168b71]{width:13px;height:13px;color:var(--p-text-faint);flex:none;transition:transform var(--p-dur) var(--p-ease)}.p-tool-row.expanded[data-v-40168b71]{background:var(--p-surface-sunken)}.p-tool-row.expanded .tr-car[data-v-40168b71]{transform:rotate(90deg)}.p-tool-detail[data-v-40168b71]{padding:0 11px 11px;background:var(--p-surface-sunken);border-top:1px solid var(--p-line)}.p-tool-detail .p-code[data-v-40168b71]{margin-top:10px}.p-composer[data-v-40168b71]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-xl);box-shadow:var(--p-sh-md);overflow:hidden}.p-composer[data-v-40168b71]:focus-within{border-color:var(--p-accent);box-shadow:var(--p-sh-md),0 0 0 3px var(--p-accent-soft)}.p-composer-ta[data-v-40168b71]{padding:14px 16px 8px;font-family:var(--p-font-sans);font-size:var(--p-font-size-md);color:var(--p-text);line-height:var(--p-leading-normal)}.p-composer-ta.ph[data-v-40168b71]{color:var(--p-text-faint)}.p-composer-bar[data-v-40168b71]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 8px}.p-composer-left[data-v-40168b71],.p-composer-right[data-v-40168b71]{display:flex;align-items:center;gap:2px}.p-send[data-v-40168b71]{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--p-accent);color:var(--p-text-on-accent);border:none;cursor:pointer;box-shadow:var(--p-sh-xs);transition:transform var(--p-dur-fast) var(--p-ease),background var(--p-dur) var(--p-ease)}.p-send[data-v-40168b71]:hover{background:var(--p-accent-hover)}.p-send[data-v-40168b71]:active{transform:scale(.92)}.p-send .p-ic[data-v-40168b71]{width:16px;height:16px}.p[data-v-40168b71] ::selection,[data-p][data-v-40168b71] ::selection{background:var(--p-selection)}.p-link[data-v-40168b71]{color:var(--p-accent);text-decoration:none;font-family:var(--p-font-sans);transition:color var(--p-dur) var(--p-ease)}.p-link[data-v-40168b71]:hover{color:var(--p-accent-hover);text-decoration:underline}.p-link[data-v-40168b71]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--p-r-xs)}.p-link.muted[data-v-40168b71]{color:var(--p-text-muted)}.p-link.muted[data-v-40168b71]:hover{color:var(--p-text)}.p-link .p-ic[data-v-40168b71]{width:var(--p-ic-sm);height:var(--p-ic-sm);vertical-align:-2px}.p-menu[data-v-40168b71]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-lg);box-shadow:var(--p-sh-sm);padding:var(--p-sp-1);min-width:180px;font-family:var(--p-font-sans);color:var(--p-text)}.p-menu-item[data-v-40168b71]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--p-r-sm);font-size:var(--p-font-size-sm);color:var(--p-text);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-menu-item[data-v-40168b71]:hover{background:var(--p-surface-sunken);color:var(--p-text)}.p-menu-item.active[data-v-40168b71],.p-menu-item.active[data-v-40168b71]:hover{background:var(--p-accent-soft);color:var(--p-accent-hover)}.p-menu-item.danger[data-v-40168b71]{color:var(--p-danger)}.p-menu-item.danger[data-v-40168b71]:hover{background:var(--p-danger-soft);color:var(--p-danger)}.p-menu-item.disabled[data-v-40168b71]{opacity:.5;cursor:not-allowed}.p-menu-item.disabled[data-v-40168b71]:hover{background:transparent;color:var(--p-text)}.p-menu-item .p-ic[data-v-40168b71]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.p-menu-item.lg[data-v-40168b71]{min-height:44px;padding:12px 14px;font-size:var(--p-font-size-base)}.p-menu-sep[data-v-40168b71]{height:1px;background:var(--p-line);margin:4px 0}.p-seg[data-v-40168b71]{display:inline-flex;gap:2px;padding:2px;background:var(--p-surface-sunken);border:1px solid var(--p-line);border-radius:var(--p-r-md);font-family:var(--p-font-sans)}.p-seg-item[data-v-40168b71]{padding:5px 12px;border-radius:var(--p-r-sm);font-size:var(--p-font-size-sm);font-weight:500;color:var(--p-text);cursor:pointer;white-space:nowrap;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease),box-shadow var(--p-dur) var(--p-ease)}.p-seg-item[data-v-40168b71]:hover{color:var(--p-text)}.p-seg-item.on[data-v-40168b71]{background:var(--p-surface-raised);color:var(--p-text);box-shadow:var(--p-sh-xs)}.p-tabs[data-v-40168b71]{display:flex;align-items:center;gap:0;border-bottom:1px solid var(--p-line);font-family:var(--p-font-sans)}.p-tab[data-v-40168b71]{padding:8px 14px;font-size:var(--p-font-size-sm);font-weight:500;color:var(--p-text-muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease)}.p-tab[data-v-40168b71]:hover{color:var(--p-text)}.p-tab.on[data-v-40168b71]{color:var(--p-accent);border-bottom-color:var(--p-accent)}.p-switch[data-v-40168b71]{position:relative;display:inline-block;width:36px;height:20px;flex:none;border-radius:var(--p-r-full);background:var(--p-line-strong);cursor:pointer;transition:background var(--p-dur) var(--p-ease)}.p-switch[data-v-40168b71]:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--p-r-full);background:var(--surface-light);box-shadow:var(--p-sh-xs);transition:transform var(--p-dur) var(--p-ease)}.p-switch.on[data-v-40168b71]{background:var(--p-accent)}.p-switch.on[data-v-40168b71]:after{background:var(--p-text-on-accent);transform:translate(16px)}.p-switch[data-v-40168b71]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.p-check[data-v-40168b71]{width:17px;height:17px;flex:none;display:inline-grid;place-items:center;border:1.5px solid var(--p-line-strong);border-radius:var(--p-r-sm);background:var(--p-surface-raised);color:var(--p-text-on-accent);cursor:pointer;transition:background var(--p-dur) var(--p-ease),border-color var(--p-dur) var(--p-ease)}.p-check.on[data-v-40168b71]{background:var(--p-accent);border-color:var(--p-accent)}.p-check[data-v-40168b71]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.p-check .p-ic[data-v-40168b71]{width:12px;height:12px}.p-avatar[data-v-40168b71]{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:var(--p-r-md);background:var(--p-surface-sunken);border:1px solid var(--p-line);color:var(--p-text-muted);font-size:var(--p-font-size-sm);font-weight:600}.p-avatar.sm[data-v-40168b71]{width:24px;height:24px;border-radius:var(--p-r-sm);font-size:var(--p-font-size-xs)}.p-avatar .p-ic[data-v-40168b71]{width:16px;height:16px}.p-avatar.sm .p-ic[data-v-40168b71]{width:13px;height:13px}.p-empty[data-v-40168b71]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;color:var(--p-text-muted);text-align:center}.p-empty .em-ic[data-v-40168b71]{width:48px;height:48px;color:var(--p-text-faint)}.p-empty .em-title[data-v-40168b71]{font-size:var(--p-font-size-base);font-weight:600;color:var(--p-text)}.p-empty .em-hint[data-v-40168b71]{font-size:var(--p-font-size-sm);color:var(--p-text-muted)}.p-divider[data-v-40168b71]{width:100%;height:1px;background:var(--p-line);border:none}.p-divider-v[data-v-40168b71]{width:1px;align-self:stretch;background:var(--p-line);border:none}.p-tip[data-v-40168b71]{position:relative;display:inline-flex}.p-tip .p-tooltip[data-v-40168b71]{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--p-text);color:var(--p-bg);font-size:var(--p-font-size-xs);padding:4px 8px;border-radius:var(--p-r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--p-dur-fast) var(--p-ease)}.p-tip:hover .p-tooltip[data-v-40168b71]{opacity:1}.p-banner[data-v-40168b71]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--p-r-md);border:1px solid var(--p-line);background:var(--p-surface);font-size:var(--p-font-size-sm);color:var(--p-text)}.p-banner .bn-ic[data-v-40168b71]{width:18px;height:18px;flex:none}.p-banner.info[data-v-40168b71]{background:var(--p-accent-soft);border-color:var(--p-accent-bd)}.p-banner.info .bn-ic[data-v-40168b71]{color:var(--p-accent)}.p-banner.warning[data-v-40168b71]{background:var(--p-warning-soft);border-color:var(--p-warning-bd)}.p-banner.warning .bn-ic[data-v-40168b71]{color:var(--p-warning)}.p-banner.danger[data-v-40168b71]{background:var(--p-danger-soft);border-color:var(--p-danger-bd)}.p-banner.danger .bn-ic[data-v-40168b71]{color:var(--p-danger)}.p-sheet[data-v-40168b71]{background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-xl) var(--p-r-xl) 0 0;box-shadow:var(--p-sh-xl);padding:8px 16px 20px}.p-sheet-handle[data-v-40168b71]{width:36px;height:4px;border-radius:var(--p-r-full);background:var(--p-line-strong);margin:0 auto 8px}.p-skeleton[data-v-40168b71]{background:var(--p-surface-sunken);border-radius:var(--p-r-sm);animation:p-skel-40168b71 1.2s var(--p-ease-inout) infinite alternate}@keyframes p-skel-40168b71{0%{opacity:.5}to{opacity:1}}.p-cmdbar[data-v-40168b71]{display:flex;align-items:center;gap:8px;width:100%}.p-cmd[data-v-40168b71]{flex:1;min-width:0;height:38px;display:flex;align-items:center;gap:10px;padding:0 10px 0 14px;background:var(--p-surface-sunken);border:1px solid var(--p-line);border-radius:var(--p-r-md);font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);color:var(--p-text-muted)}.p-cmd .cmd-text[data-v-40168b71]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-cmd .cmd-copy[data-v-40168b71]{margin-left:auto;flex:none;display:grid;place-items:center;width:26px;height:26px;border:none;background:transparent;border-radius:var(--p-r-sm);color:var(--p-text-faint);cursor:pointer;transition:background var(--p-dur) var(--p-ease),color var(--p-dur) var(--p-ease)}.p-cmd .cmd-copy[data-v-40168b71]:hover{background:var(--p-surface-raised);color:var(--p-text)}.p-cmd .cmd-copy .p-ic[data-v-40168b71]{width:15px;height:15px}.p-topbar[data-v-40168b71]{display:flex;align-items:center;justify-content:space-between;gap:12px;height:48px;padding:0 16px;background:var(--p-surface-raised);border:1px solid var(--p-line);border-radius:var(--p-r-lg)}.p-topbar .tb-title[data-v-40168b71]{font-size:var(--p-font-size-sm);font-weight:600;color:var(--p-text)}.p-topbar .tb-actions[data-v-40168b71]{display:flex;align-items:center;gap:4px}.p-topbar.frost[data-v-40168b71]{background:#ffffffb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-color:#fff9}[data-p=dark] .p-topbar.frost[data-v-40168b71]{background:#161b22b8;border-color:#ffffff14}.demo-family-black[data-v-40168b71]{--p-accent: #14171c;--p-accent-hover: #2f3540;--p-accent-soft: #f1f2f4;--p-accent-bd: #d8dbe0;--p-text-on-accent: #ffffff}.demo-row[data-v-40168b71]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.demo-stack[data-v-40168b71]{display:flex;flex-direction:column;gap:12px;width:100%}.demo-col[data-v-40168b71]{display:flex;flex-direction:column;gap:10px}.demo-grow[data-v-40168b71]{flex:1;min-width:0}.demo-chat[data-v-40168b71]{display:flex;flex-direction:column;gap:14px;width:100%;max-width:560px}.icon-grid[data-v-40168b71]{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin:14px 0}.icon-group-label[data-v-40168b71]{grid-column:1 / -1;margin-top:10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--d-fg-muted)}.icon-cell[data-v-40168b71]{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--d-line);border-radius:8px;background:var(--d-surface)}.icon-cell .kw-icon[data-v-40168b71]{width:20px;height:20px;color:var(--d-fg-soft)}.icon-cell .ic-name[data-v-40168b71]{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--d-fg)}.icon-sizes[data-v-40168b71]{display:flex;align-items:end;gap:22px;flex-wrap:wrap}.icon-sizes .sz[data-v-40168b71]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11px;color:var(--d-fg-muted);font-family:JetBrains Mono,ui-monospace,monospace}.p-code-inline[data-v-40168b71]{font-family:var(--p-font-mono);background:var(--p-surface-sunken);color:var(--p-text);padding:0 5px;border-radius:var(--p-r-sm);font-size:.9em}.p-code-block[data-v-40168b71]{border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden;background:var(--p-surface-sunken)}.p-code-block-head[data-v-40168b71]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--p-surface);border-bottom:1px solid var(--p-line);font-family:var(--p-font-mono);font-size:var(--p-font-size-xs);color:var(--p-text-muted)}.p-code-block pre[data-v-40168b71]{margin:0;padding:12px 14px;font-family:var(--p-font-mono);font-size:var(--p-font-size-sm);line-height:1.65;color:var(--p-text);overflow-x:auto}.p-diff[data-v-40168b71]{border:1px solid var(--p-line);border-radius:var(--p-r-md);overflow:hidden;font-family:var(--p-font-mono);font-size:var(--p-font-size-sm)}.p-diff-head[data-v-40168b71]{padding:8px 12px;background:var(--p-surface);border-bottom:1px solid var(--p-line);font-size:var(--p-font-size-xs);color:var(--p-text-muted)}.p-diff-row[data-v-40168b71]{display:flex;gap:10px;padding:2px 12px;line-height:1.6}.p-diff-row .pm[data-v-40168b71]{width:14px;flex:none;color:var(--p-text-faint)}.p-diff-row.add[data-v-40168b71]{background:var(--p-success-soft)}.p-diff-row.add .pm[data-v-40168b71]{color:var(--p-success)}.p-diff-row.del[data-v-40168b71]{background:var(--p-danger-soft)}.p-diff-row.del .pm[data-v-40168b71]{color:var(--p-danger)}.p-diff-row .p-diff-code[data-v-40168b71]{color:var(--p-text)}.p-field-error[data-v-40168b71]{color:var(--p-danger);font-size:var(--p-font-size-xs)}.p-btn .p-spinner[data-v-40168b71]{vertical-align:middle}.p-btn .p-spinner .track[data-v-40168b71]{stroke:currentColor;opacity:.35}.p-btn .p-spinner .arc[data-v-40168b71]{stroke:currentColor}.ds-page[data-v-40168b71]{position:fixed;inset:0;z-index:var(--z-max);overflow-y:auto}.ds-topbar[data-v-40168b71]{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-line)}.ds-back[data-v-40168b71]{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer}.ds-back[data-v-40168b71]:hover{background:var(--color-surface-sunken)}.ds-topbar-title[data-v-40168b71]{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)} diff --git a/apps/kimi-code/dist-web/assets/index-C6dIaEdv.css b/apps/kimi-code/dist-web/assets/index-C6dIaEdv.css deleted file mode 100644 index 7fc68e4f00..0000000000 --- a/apps/kimi-code/dist-web/assets/index-C6dIaEdv.css +++ /dev/null @@ -1 +0,0 @@ -.ui-icon-button[data-v-c9e67023]{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.ui-icon-button[data-v-c9e67023]:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.ui-icon-button[data-v-c9e67023]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-icon-button[data-v-c9e67023]:disabled{opacity:.5;cursor:not-allowed}.ui-icon-button--sm[data-v-c9e67023]{width:26px;height:26px;border-radius:var(--radius-sm)}.ui-icon-button--md[data-v-c9e67023]{width:32px;height:32px}.ui-icon-button--lg[data-v-c9e67023]{width:44px;height:44px}.ui-icon-button[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--sm[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--lg[data-v-c9e67023] svg{width:var(--p-ic-lg);height:var(--p-ic-lg)}.ui-dialog__overlay[data-v-ee025dcb]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0d111773;animation:kimi-dialog-overlay-in-ee025dcb var(--duration-base) var(--ease-out)}@keyframes kimi-dialog-overlay-in-ee025dcb{0%{opacity:0}to{opacity:1}}.ui-dialog[data-v-ee025dcb]{max-height:calc(100vh - var(--space-8) * 2);display:flex;flex-direction:column;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);outline:none;overflow:hidden;animation:kimi-card-in var(--duration-slow) var(--ease-out)}.ui-dialog--md[data-v-ee025dcb]{width:min(440px,100%)}.ui-dialog--lg[data-v-ee025dcb]{width:min(640px,100%)}.ui-dialog--xl[data-v-ee025dcb]{width:min(var(--p-content-max),100%)}.ui-dialog--fixed-height[data-v-ee025dcb]{height:min(680px,calc(100vh - var(--space-8) * 2))}.ui-dialog--flush .ui-dialog__body[data-v-ee025dcb]{padding:0}.ui-dialog__head[data-v-ee025dcb]{display:flex;align-items:flex-start;gap:var(--space-3);padding:20px 22px 14px}.ui-dialog__titles[data-v-ee025dcb]{flex:1;min-width:0}.ui-dialog__title[data-v-ee025dcb]{font-size:var(--text-lg);font-weight:500;color:var(--color-text);line-height:var(--leading-tight)}.ui-dialog__desc[data-v-ee025dcb]{margin-top:4px;font-size:var(--text-base);color:var(--color-text-muted)}.ui-dialog__close[data-v-ee025dcb]{flex:none;margin-top:-2px}.ui-dialog__body[data-v-ee025dcb]{flex:1;min-height:0;padding:4px 22px 18px;color:var(--color-text);overflow:auto}.ui-dialog__foot[data-v-ee025dcb]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.sd-head[data-v-ac47909f]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sd-search-icon[data-v-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-input[data-v-ac47909f]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-lg);color:var(--color-text);background:none;border:none;outline:none;padding:var(--space-1) 0}.sd-input[data-v-ac47909f]::placeholder{color:var(--color-text-muted)}.sd-list[data-v-ac47909f]{height:420px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.sd-row[data-v-ac47909f]{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left;font-family:var(--font-ui);color:var(--color-text)}.sd-row[data-v-ac47909f]:hover,.sd-row.on[data-v-ac47909f]{background:var(--color-surface-sunken)}.sd-row.active .sd-title[data-v-ac47909f]{color:var(--color-accent-hover)}.sd-meta[data-v-ac47909f]{display:flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-xs);color:var(--color-text-muted)}.sd-folder[data-v-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-ws[data-v-ac47909f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-time[data-v-ac47909f]{flex:none;font-family:var(--font-mono);color:var(--color-text-faint)}.sd-title[data-v-ac47909f]{min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-snippet[data-v-ac47909f]{min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-title[data-v-ac47909f] mark,.sd-snippet[data-v-ac47909f] mark{background:var(--color-accent);color:var(--color-bg);font-weight:var(--weight-semibold);border-radius:var(--radius-xs);padding:0 2px}.sd-empty[data-v-ac47909f]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.sd-hint[data-v-ac47909f]{font-size:var(--text-xs);color:var(--color-text-muted)}.ui-spinner[data-v-e5c5b17d]{display:inline-flex;flex:none;color:var(--color-accent)}.ui-spinner--sm[data-v-e5c5b17d]{width:14px;height:14px}.ui-spinner--md[data-v-e5c5b17d]{width:18px;height:18px}.ui-spinner--lg[data-v-e5c5b17d]{width:28px;height:28px}.ui-spinner__svg[data-v-e5c5b17d]{width:100%;height:100%;animation:ui-spinner-rotate-e5c5b17d .85s linear infinite}.ui-spinner__track[data-v-e5c5b17d]{fill:none;stroke:var(--color-line);stroke-width:2.2}.ui-spinner__arc[data-v-e5c5b17d]{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:56 56;stroke-dashoffset:38}@keyframes ui-spinner-rotate-e5c5b17d{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-spinner__svg[data-v-e5c5b17d]{animation-duration:1.8s}}.ui-badge[data-v-5bc5cd6d]{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;border:1px solid transparent}.ui-badge--md[data-v-5bc5cd6d]{height:22px;padding:0 9px;font-size:var(--text-xs)}.ui-badge--sm[data-v-5bc5cd6d]{height:18px;padding:0 7px;font-size:11px}.ui-badge__dot[data-v-5bc5cd6d]{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:none}.ui-badge--neutral[data-v-5bc5cd6d]{background:var(--color-surface-sunken);color:var(--color-text-muted);border-color:var(--color-line)}.ui-badge--info[data-v-5bc5cd6d]{background:var(--color-accent-soft);color:var(--color-accent-hover);border-color:var(--color-accent-bd)}.ui-badge--success[data-v-5bc5cd6d]{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-bd)}.ui-badge--warning[data-v-5bc5cd6d]{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-bd)}.ui-badge--danger[data-v-5bc5cd6d]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-badge--solid[data-v-5bc5cd6d]{background:var(--color-text);color:var(--color-bg)}.ui-menu[data-v-60e6cd8d]{min-width:180px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.ui-menu-item[data-v-f940771a]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--duration-base),color var(--duration-base)}.ui-menu-item[data-v-f940771a]:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-menu-item[data-v-f940771a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-menu-item[data-v-f940771a]:disabled{opacity:.5;cursor:not-allowed}.ui-menu-item.is-active[data-v-f940771a]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.ui-menu-item.is-danger[data-v-f940771a]{color:var(--color-danger)}.ui-menu-item.is-danger[data-v-f940771a]:hover:not(:disabled){background:var(--color-danger-soft)}.ui-menu-item[data-v-f940771a] svg{width:14px;height:14px;flex:none}.ui-menu-item--lg[data-v-f940771a]{min-height:44px;padding:12px 14px;font-size:var(--text-base)}.ui-menu-sep[data-v-f940771a]{height:1px;margin:4px 0;background:var(--color-line)}.ui-tip[data-v-98697f45]{display:contents}.ui-tip__bubble[data-v-98697f45]{position:fixed;z-index:var(--z-tooltip);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tip-lines);max-width:280px;padding:4px 8px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.35;overflow:hidden;overflow-wrap:anywhere;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.ui-tip__bubble.positioned[data-v-98697f45]{opacity:1}.se[data-v-1c24e83d]{display:block;margin:0;padding:8px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);color:var(--color-text);cursor:pointer;position:relative}.se[data-v-1c24e83d]:hover{background:var(--sb-hover, var(--color-surface-sunken));color:var(--color-text)}.se.on[data-v-1c24e83d]{background:var(--color-selected);color:var(--color-text)}.row[data-v-1c24e83d]{display:flex;align-items:center;gap:var(--sb-gap, 6px);min-width:0}.left[data-v-1c24e83d]{display:flex;align-items:center;flex:1;min-width:0}.lead[data-v-1c24e83d]{width:var(--sb-gutter, 16px);flex:none;display:inline-flex;align-items:center;justify-content:center}.unread-dot[data-v-1c24e83d]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-accent)}.t[data-v-1c24e83d]{color:inherit;font-size:var(--ui-font-size-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-emoji[data-v-1c24e83d]{margin-right:4px;font-size:var(--text-base)}.ts[data-v-1c24e83d]{color:var(--color-text-faint);font-size:var(--text-xs);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:var(--leading-tight);font-variant-numeric:tabular-nums;text-align:right}.pr[data-v-1c24e83d]{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;padding:1px var(--space-1);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;cursor:pointer}.pr[data-v-1c24e83d]:hover{border-color:var(--color-line-strong)}.pr[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.pr--open[data-v-1c24e83d],.pr--open[data-v-1c24e83d]:hover{background:var(--color-success-soft);border-color:var(--color-success-bd);color:var(--color-success)}.pr--merged[data-v-1c24e83d],.pr--merged[data-v-1c24e83d]:hover{background:var(--color-done-soft);border-color:var(--color-done-bd);color:var(--color-done)}.act[data-v-1c24e83d]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px}.se.has-gen .act[data-v-1c24e83d]{min-width:104px}.act .btn[data-v-1c24e83d]{position:absolute;top:50%;transform:translateY(-50%);visibility:hidden}.act .kebab[data-v-1c24e83d]{right:0}.act .pin[data-v-1c24e83d]{right:26px}.act .emoji-btn[data-v-1c24e83d]{right:52px}.act .gen-title[data-v-1c24e83d]{right:78px}.act .pin.on[data-v-1c24e83d]{visibility:visible;color:var(--color-accent)}.se:hover .act .btn[data-v-1c24e83d],.act:has(.btn.open) .btn[data-v-1c24e83d]{visibility:visible}.se:hover .act .ts[data-v-1c24e83d],.act:has(.btn.open) .ts[data-v-1c24e83d]{visibility:hidden}.btn.open[data-v-1c24e83d]{color:var(--color-text);background:var(--sb-hover, var(--color-surface-sunken))}.emoji-glyph[data-v-1c24e83d]{font-size:var(--text-base);line-height:1}.emoji-picker[data-v-1c24e83d]{position:fixed;top:0;left:0;z-index:var(--z-dropdown);min-width:172px;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.emoji-grid[data-v-1c24e83d]{display:grid;grid-template-columns:repeat(5,28px);gap:var(--space-1)}.emoji-cell[data-v-1c24e83d]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.emoji-cell[data-v-1c24e83d]:hover{background:var(--color-surface-sunken)}.emoji-cell[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.emoji-cell.on[data-v-1c24e83d]{background:var(--color-accent-soft)}.emoji-clear[data-v-1c24e83d]{margin-top:var(--space-1);width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);padding:4px 8px;cursor:pointer}.emoji-clear[data-v-1c24e83d]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu[data-v-1c24e83d]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.menu-time[data-v-1c24e83d]{padding:6px 10px;color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);cursor:default;user-select:text}.rename-input[data-v-1c24e83d]{flex:1;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:1px 4px;outline:none;min-width:0}.sessions .se[data-v-1c24e83d]{margin:0;border-radius:var(--radius-sm);padding:8px calc(var(--sb-pad-x, 20px) - var(--sb-inset, 12px))}.sessions .se .rename-input[data-v-1c24e83d]{border-radius:var(--radius-sm);font-family:var(--sans)}.sessions .se .btn[data-v-1c24e83d]{border-radius:var(--radius-sm)}.group.dragging[data-v-ec29996e]{opacity:.45}.group-sessions[data-v-ec29996e]{height:auto;overflow:hidden;transition:height var(--duration-base) var(--ease-out)}.group-sessions.collapsed[data-v-ec29996e]{height:0}.gh[data-v-ec29996e]{display:flex;flex-direction:column;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text);user-select:none;position:relative;cursor:grab}.gh[data-v-ec29996e]:active{cursor:grabbing}.gh.renaming[data-v-ec29996e],.gh.renaming[data-v-ec29996e]:active{cursor:auto}.gh[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.gh-top[data-v-ec29996e]{position:relative;display:flex;align-items:center;gap:var(--sb-gap)}.gh-folder[data-v-ec29996e]{flex:none;color:var(--color-text-muted)}.gh-name[data-v-ec29996e]{font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);color:var(--color-text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.gh-actions[data-v-ec29996e]{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-1);border-radius:var(--radius-sm);isolation:isolate;background:var(--color-sidebar-bg);opacity:0;pointer-events:none}.gh-actions[data-v-ec29996e]:after{content:"";position:absolute;inset:0;z-index:0;border-radius:var(--radius-sm);background:transparent}.gh:hover .gh-actions[data-v-ec29996e]:after{background:var(--sb-hover, var(--color-surface-sunken))}.gh-actions[data-v-ec29996e]>*{position:relative;z-index:1}.gh:hover .gh-actions[data-v-ec29996e],.gh:focus-within .gh-actions[data-v-ec29996e],.gh-actions.open[data-v-ec29996e]{opacity:1;pointer-events:auto}.gh-more.open[data-v-ec29996e]{color:var(--color-text);background:var(--color-line)}.group-empty[data-v-ec29996e]{padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--sb-pad-x) - var(--sb-inset) + var(--sb-gutter) + var(--sb-gap));font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-ui)}.show-more[data-v-ec29996e]{display:flex;align-items:center;gap:var(--sb-gap);width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);text-align:left;cursor:pointer}.show-more[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.show-more[data-v-ec29996e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.show-more-lead[data-v-ec29996e]{width:var(--sb-gutter);flex:none}.show-more-label[data-v-ec29996e]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-rename[data-v-ec29996e]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.gh-rename[data-v-ec29996e]{border-radius:var(--radius-sm);font-family:var(--sans)}.gh-add[data-v-ec29996e]{color:var(--faint)}.gh-add[data-v-ec29996e]:hover{color:var(--dim)}.ui-kbd[data-v-32292ed8]{display:inline-flex;align-items:center;gap:3px;flex:none}.ui-kbd__key[data-v-32292ed8]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--color-line);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:11px;line-height:1}.kimi-mascot[data-v-6634dad2]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent);user-select:none}.kimi-mascot--pulse[data-v-6634dad2]{animation:kimi-mascot-pulse-6634dad2 2.6s var(--ease-out) infinite}@keyframes kimi-mascot-pulse-6634dad2{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}}@media(prefers-reduced-motion:reduce){.kimi-mascot--pulse[data-v-6634dad2]{animation:none}}.ui-pill[data-v-317ace1a]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;cursor:default;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}button.ui-pill[data-v-317ace1a]{cursor:pointer}button.ui-pill[data-v-317ace1a]:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}button.ui-pill[data-v-317ace1a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}button.ui-pill[data-v-317ace1a]:disabled{opacity:.5;cursor:not-allowed}.ui-pill.is-active[data-v-317ace1a]{background:var(--color-accent-soft);color:var(--color-accent)}.ui-pill[data-v-317ace1a] svg{width:var(--p-ic-sm);height:var(--p-ic-sm);flex:none;color:var(--color-text-faint)}.side[data-v-7e5a3931]{background:var(--color-sidebar-bg);display:flex;flex-direction:row;justify-content:flex-end;overflow:hidden;min-width:0;height:100%;transition:width .28s cubic-bezier(.4,0,.2,1),visibility .28s;--sb-inset: var(--space-3);--sb-pad-x: var(--space-5);--sb-gutter: 16px;--sb-gap: var(--space-2);--sb-hover: var(--color-hover)}.side.no-anim[data-v-7e5a3931]{transition:none}.side.collapsed[data-v-7e5a3931]{visibility:hidden}.col[data-v-7e5a3931]{flex:none;min-width:0;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box;border-right:1px solid var(--line);container-type:inline-size;container-name:sidebar-col}.ch[data-v-7e5a3931]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-3);min-height:calc(26px + 2 * var(--space-3));width:100%;box-sizing:border-box}.side.macos-desktop .ch[data-v-7e5a3931]{padding-left:80px;-webkit-app-region:drag}.side.macos-desktop .ch-brand[data-v-7e5a3931]{display:none}.ch-logo[data-v-7e5a3931]{height:22px;width:32px;flex:none;display:block;cursor:pointer;user-select:none;touch-action:none;transition:transform .18s ease}.ch-logo[data-v-7e5a3931]:hover{transform:scale(1.08)}.ch-logo.is-dev[data-v-7e5a3931]{--logo: var(--color-logo-dev)}.ch-brand[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;user-select:none;touch-action:none}.ch-name[data-v-7e5a3931]{font-size:var(--ui-font-size);font-weight:500;line-height:22px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-backend[data-v-7e5a3931]{flex:none;min-width:0}.ch-backend-kind[data-v-7e5a3931]{font-family:var(--mono);font-weight:500;color:var(--color-text-muted)}.ch-backend-kind.is-v2[data-v-7e5a3931]{color:var(--color-accent)}.ch-backend-ep[data-v-7e5a3931]{font-family:var(--mono);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis}@container sidebar-col (max-width: 320px){.ch-backend-ep[data-v-7e5a3931]{display:none}}@container sidebar-col (max-width: 250px){.ch-name[data-v-7e5a3931]{display:none}}.btn-wrap[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;padding:0 var(--sb-inset)}.btn-new-chat[data-v-7e5a3931]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-new-chat[data-v-7e5a3931]:hover{background:var(--sb-hover)}.btn-new-chat[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-new-chat svg[data-v-7e5a3931]{flex:none}.btn-new-chat span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-wrap[data-v-7e5a3931]{padding:0 var(--sb-inset);position:relative;z-index:1;background:var(--color-sidebar-bg);border-bottom:1px solid transparent;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.search-wrap--scrolled[data-v-7e5a3931]{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.search[data-v-7e5a3931]{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.search[data-v-7e5a3931]:hover{background:var(--sb-hover)}.search[data-v-7e5a3931]:focus-visible{background:var(--sb-hover);color:var(--color-text);outline:2px solid var(--color-accent-bd);outline-offset:-2px}.search-icon[data-v-7e5a3931]{flex:none}.search-input[data-v-7e5a3931]{flex:1;min-width:0;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sessions[data-v-7e5a3931]{flex:1;overflow-y:auto;padding:var(--space-3) var(--sb-inset);min-height:0}.sessions[data-v-7e5a3931]::-webkit-scrollbar{width:4px}.sessions[data-v-7e5a3931]::-webkit-scrollbar-track{background:transparent}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:var(--radius-full)}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text) 25%,transparent)}.side-footer[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;flex:none;padding:var(--space-2) var(--sb-inset);border-top:1px solid var(--line)}.btn-settings[data-v-7e5a3931]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-settings[data-v-7e5a3931]:hover{background:var(--sb-hover)}.btn-settings[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-settings svg[data-v-7e5a3931]{flex:none}.btn-settings span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mascot[data-v-7e5a3931]{flex:none}.side-section-label[data-v-7e5a3931]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--space-3) var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;color:var(--faint);user-select:none}.side-section-title[data-v-7e5a3931]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-section-toggle[data-v-7e5a3931]{color:var(--faint);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.side-section-label:hover .side-section-toggle[data-v-7e5a3931],.side-section-label:focus-within .side-section-toggle[data-v-7e5a3931]{opacity:1}.side-section-toggle[data-v-7e5a3931]:hover{color:var(--dim)}.side-section-toggle svg[data-v-7e5a3931]{width:13px;height:13px}.side-section-actions[data-v-7e5a3931]{display:flex;align-items:center;gap:2px}.ws-drop-target.drop-before[data-v-7e5a3931]{box-shadow:inset 0 2px 0 var(--color-accent)}.ws-drop-target.drop-after[data-v-7e5a3931]{box-shadow:inset 0 -2px 0 var(--color-accent)}.empty[data-v-7e5a3931]{padding:var(--space-6) var(--space-3);text-align:center;color:var(--faint);font-size:calc(var(--ui-font-size) - 3px);line-height:1.6}.ws-menu[data-v-7e5a3931],.gh-menu[data-v-7e5a3931],.section-menu[data-v-7e5a3931],.backend-menu[data-v-7e5a3931]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.section-menu-check[data-v-7e5a3931]{display:inline-flex;flex:none;width:14px}.backend-menu-name[data-v-7e5a3931]{font-family:var(--mono);font-weight:500}.backend-menu-url[data-v-7e5a3931]{margin-left:8px;font-family:var(--mono);color:var(--color-text-muted)}.rh[data-v-48fd0a6d]{width:4px;flex:none;cursor:col-resize;position:relative;align-self:stretch;background:transparent;touch-action:none;margin:0 -2px;z-index:var(--z-dropdown)}.rh-bar[data-v-48fd0a6d]{position:absolute;inset:0;background:transparent;transition:background .12s}.rh:hover .rh-bar[data-v-48fd0a6d],.rh.dragging .rh-bar[data-v-48fd0a6d]{background:var(--color-accent)}.kw-dot[data-v-e36198e5]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-text-faint);flex:none}.kw-dot--ok[data-v-e36198e5]{background:var(--color-success)}.kw-dot--error[data-v-e36198e5]{background:var(--color-danger)}.kw-dot--suspended[data-v-e36198e5]{background:var(--color-warning)}.kw-dot--running[data-v-e36198e5]{background:var(--color-accent);animation:kw-dot-pulse-e36198e5 1.4s var(--ease-out) infinite}@keyframes kw-dot-pulse-e36198e5{0%{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 40%,transparent)}to{box-shadow:0 0 0 6px transparent}}.box[data-v-fef8aad2]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.box.err[data-v-fef8aad2]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.box.stacked[data-v-fef8aad2]{border:none;border-radius:0}.box.stacked .bh[data-v-fef8aad2]{border-radius:0}.box.stack-middle[data-v-fef8aad2],.box.stack-last[data-v-fef8aad2]{border-top:1px solid var(--color-line)}.bh[data-v-fef8aad2]{display:flex;align-items:center;gap:8px;min-height:30px;padding:0 11px;cursor:pointer;font:var(--text-sm) var(--font-mono);color:var(--color-text)}.box.open .bh[data-v-fef8aad2],.bh[data-v-fef8aad2]:hover{background:var(--color-surface-sunken)}.box.err .bh[data-v-fef8aad2]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.box.err .bh[data-v-fef8aad2]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.gl[data-v-fef8aad2]{display:inline-flex;align-items:center;color:var(--color-text-faint);flex:none}.bh-text[data-v-fef8aad2]{display:flex;align-items:baseline;gap:inherit;flex:1;min-width:0}.a[data-v-fef8aad2]{color:var(--color-text);font-weight:var(--weight-medium);flex:none}.p[data-v-fef8aad2]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-fef8aad2]{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs);display:flex;align-items:center;gap:6px;flex:none}.tm[data-v-fef8aad2]{color:var(--color-text-faint)}.chip[data-v-fef8aad2-s]{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);flex:none}.status[data-v-fef8aad2]{display:inline-flex;align-items:center;flex:none}.status.ok[data-v-fef8aad2]{color:var(--color-success)}.status.error[data-v-fef8aad2]{color:var(--color-danger)}.bb[data-v-fef8aad2]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.bb.open[data-v-fef8aad2]{grid-template-rows:minmax(0,1fr)}.bb-pad[data-v-fef8aad2]{min-height:0;overflow:hidden;padding:var(--space-2) var(--space-3) var(--space-3);background:var(--color-surface-sunken);border-top:1px solid var(--color-line);color:var(--color-text);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.box.mob[data-v-fef8aad2]{margin:0}.at-open[data-v-72115ae1]{flex:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);padding:1px 7px;cursor:pointer}.at-open[data-v-72115ae1]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.at-type[data-v-72115ae1]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-type-sep[data-v-72115ae1]{margin:0 6px;color:var(--color-text-faint)}.at-task[data-v-72115ae1]{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.at-task+.bb-code[data-v-72115ae1]{margin-top:10px}.bb-code[data-v-72115ae1]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md)}.chip[data-v-a9a0f259]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.au-dismissed[data-v-a9a0f259]{color:var(--color-text-muted);font:italic var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-list[data-v-a9a0f259]{display:flex;flex-direction:column;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-block[data-v-a9a0f259]{padding:4px 0}.au-block+.au-block[data-v-a9a0f259]{margin-top:4px;padding-top:10px;border-top:1px dashed var(--color-line)}.au-q[data-v-a9a0f259]{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.au-hdr[data-v-a9a0f259]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:0 6px;flex:none}.au-qtext[data-v-a9a0f259]{color:var(--color-text);font-weight:var(--weight-medium)}.au-opts[data-v-a9a0f259]{display:flex;flex-direction:column;gap:4px}.au-opt[data-v-a9a0f259]{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text-faint)}.au-opt.sel[data-v-a9a0f259]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.au-glyph[data-v-a9a0f259]{font:var(--text-base) var(--font-mono);color:var(--color-text-faint);width:14px;text-align:center;flex:none}.au-opt.sel .au-glyph[data-v-a9a0f259]{color:var(--color-accent-hover)}.au-label[data-v-a9a0f259]{color:inherit}.au-desc[data-v-a9a0f259]{color:var(--color-text-faint);font-size:var(--text-xs);margin-left:2px}.au-opt.sel .au-desc[data-v-a9a0f259]{color:var(--color-text-muted)}.au-raw[data-v-a9a0f259]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.tool-output-block[data-v-262bbea0]{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.tool-output-block.scroll[data-v-262bbea0]{max-height:calc(var(--tool-output-visible-lines) * 1lh);overflow-y:auto;scrollbar-gutter:stable}.bb-empty[data-v-262bbea0]{color:var(--color-text-muted);font-style:italic}.chip[data-v-74e1da99]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-74e1da99],.bb-summary[data-v-aa4edcb0]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.chip[data-v-aa4edcb0]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.media-tool[data-v-04192531]{display:inline-flex;flex-direction:column;gap:6px;max-width:320px}.media-title[data-v-04192531]{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-image-button[data-v-04192531]{padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-image[data-v-04192531]{display:block;max-width:100%;border-radius:var(--radius-md);background:var(--media-alpha-canvas)}.media-video[data-v-04192531],.media-audio[data-v-04192531]{max-width:100%;border-radius:var(--radius-md)}.media-video-button[data-v-04192531]{position:relative;display:inline-flex;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-video-button .media-video[data-v-04192531]{display:block;max-width:320px}.media-play-badge[data-v-04192531]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-surface-raised);background:#0d111773;opacity:.9;transition:opacity .12s ease;pointer-events:none}.media-video-button:hover .media-play-badge[data-v-04192531]{opacity:.7}.chip[data-v-c851b016]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-c851b016]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.plan-path[data-v-c851b016]{display:block;width:100%;margin-bottom:var(--space-2);padding:0;border:none;background:none;color:var(--color-accent);font:var(--text-xs) var(--font-mono);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.plan-path[data-v-c851b016]:hover{color:var(--color-accent-hover);text-decoration:underline}.plan-body[data-v-c851b016]{font:var(--text-base)/var(--leading-normal) var(--font-ui);white-space:normal;max-height:50vh;overflow-y:auto}.plan-review[data-v-c851b016]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2);font:var(--text-xs) var(--font-ui)}.plan-state[data-v-c851b016]{color:var(--color-text-muted);font-weight:var(--weight-medium)}.plan-option[data-v-c851b016]{color:var(--color-accent)}.plan-feedback[data-v-c851b016]{color:var(--color-text-muted)}.plan-loading[data-v-c851b016],.plan-empty[data-v-c851b016]{margin-top:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-style:italic}.swarm-card[data-v-4b58e128]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.swarm-card.err[data-v-4b58e128]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.head[data-v-4b58e128]:hover,.swarm-card.open>.head[data-v-4b58e128]{background:var(--color-surface-sunken);color:var(--color-text)}.swarm-card.err>.head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.swarm-card.err>.head[data-v-4b58e128]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.ic[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.title[data-v-4b58e128]{font-weight:var(--weight-medium);color:var(--color-text);flex:none}.meta[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.sum-txt[data-v-4b58e128]{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-4b58e128]{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;color:var(--color-text-muted);font-size:var(--text-xs)}.status[data-v-4b58e128]{display:inline-flex;align-items:center;flex:none}.status[data-v-4b58e128]:has(>svg){color:var(--color-success)}.err .status[data-v-4b58e128]:has(>svg){color:var(--color-danger)}.chip[data-v-4b58e128]{color:var(--color-text-muted);font-family:var(--font-mono)}.tm[data-v-4b58e128]{color:var(--color-text-faint);font-family:var(--font-mono)}.car[data-v-4b58e128]{margin-left:2px;color:var(--color-text-faint);flex:none}.body[data-v-4b58e128]{border-top:1px solid var(--color-line);background:var(--color-surface-sunken)}.overview[data-v-4b58e128]{padding:9px 11px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.overview-line[data-v-4b58e128]{display:flex;align-items:baseline;gap:8px}.big[data-v-4b58e128]{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--color-text);font-size:15px}.lbl[data-v-4b58e128]{color:var(--color-text-muted);font-size:var(--text-xs)}.seg[data-v-4b58e128]{display:flex;height:5px;border-radius:var(--radius-full);overflow:hidden;margin:8px 0 4px;gap:2px}.seg>span[data-v-4b58e128]{height:100%;border-radius:var(--radius-full);min-width:3px}.s-ok[data-v-4b58e128]{background:var(--color-success)}.s-run[data-v-4b58e128]{background:var(--color-accent)}.s-warn[data-v-4b58e128]{background:var(--color-warning)}.s-fail[data-v-4b58e128]{background:var(--color-danger)}.s-queue[data-v-4b58e128]{background:var(--color-line)}.legend[data-v-4b58e128]{display:flex;flex-wrap:wrap;gap:10px}.legend span[data-v-4b58e128]{display:inline-flex;align-items:center;gap:5px;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.lg-dot[data-v-4b58e128]{width:6px;height:6px;border-radius:var(--radius-full)}.member[data-v-4b58e128]{border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.member[data-v-4b58e128]:last-child{border-bottom:none}.member-head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.member-head[data-v-4b58e128]:hover,.member.open .member-head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-surface) 55%,var(--bg))}.member-head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.row-dot[data-v-4b58e128]{flex:none}.mname[data-v-4b58e128]{flex:none;min-width:0;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-medium);color:var(--color-text)}.mact[data-v-4b58e128]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--text-xs)}.mphase[data-v-4b58e128]{flex:none;margin-left:auto;font:var(--text-xs) var(--font-mono);color:var(--color-text-faint)}.phase-completed .mphase[data-v-4b58e128]{color:var(--color-success)}.phase-failed .mphase[data-v-4b58e128]{color:var(--color-danger)}.phase-working .mphase[data-v-4b58e128]{color:var(--color-accent)}.phase-suspended .mphase[data-v-4b58e128]{color:var(--color-warning)}.mcar[data-v-4b58e128]{margin-left:4px;color:var(--color-text-faint);flex:none}.member-body[data-v-4b58e128]{padding:4px 11px 10px 31px;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.65;white-space:pre-wrap;word-break:break-word}.waiting[data-v-4b58e128]{padding:6px 11px 10px;color:var(--color-text-muted);font-size:var(--text-xs)}.fallback-output[data-v-4b58e128]{padding:9px 11px 10px;color:var(--color-text);font:var(--text-xs)/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word}.tool-group[data-v-37eb334f]{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.tool-group-head[data-v-37eb334f]{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.tool-group-head[data-v-37eb334f]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-group-head[data-v-37eb334f]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.tg-ic[data-v-37eb334f]{color:var(--color-text-faint);flex:none}.tg-title[data-v-37eb334f]{font-weight:var(--weight-medium);color:var(--color-text)}.tg-meta[data-v-37eb334f]{color:var(--color-text-faint)}.tg-car[data-v-37eb334f]{margin-left:auto;color:var(--color-text-faint);flex:none;transition:transform var(--duration-base) var(--ease-out)}.tool-group.open .tg-car[data-v-37eb334f]{transform:rotate(90deg)}.tool-group-body[data-v-37eb334f]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.tool-group-body.open[data-v-37eb334f]{grid-template-rows:minmax(0,1fr)}.tool-group-body-inner[data-v-37eb334f]{min-height:0;overflow:hidden;display:flex;flex-direction:column}.md[data-v-9ccdd7fa]{font:400 15px/1.6 var(--font-ui);color:var(--color-text);word-break:break-word}.md[data-v-9ccdd7fa] .markdown-renderer{font:400 15px/1.6 var(--font-ui);color:var(--color-text)}.md[data-v-9ccdd7fa] .markstream-vue,.md[data-v-9ccdd7fa] .markdown-renderer{--code-bg: var(--color-surface-sunken);--code-fg: var(--color-text);--code-border: var(--color-line);--code-header-bg: var(--color-surface);--code-action-fg: var(--color-text-muted);--code-action-hover-fg: var(--color-accent);--markstream-code-fallback-bg: var(--color-surface-sunken);--markstream-code-fallback-fg: var(--color-text);--markstream-code-border-color: var(--color-line);--inline-code-bg: var(--color-surface-sunken);--inline-code-fg: var(--color-fg);--inline-code-border: transparent}.md[data-v-9ccdd7fa] .md-file-link{appearance:none;display:inline;border:0;padding:0;background:transparent;color:var(--color-accent-hover);font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.md[data-v-9ccdd7fa] .md-file-link:hover{color:var(--color-accent)}.md[data-v-9ccdd7fa] .markdown-renderer p,.md[data-v-9ccdd7fa] .markdown-renderer li,.md[data-v-9ccdd7fa] .markdown-renderer blockquote,.md[data-v-9ccdd7fa] .markdown-renderer td,.md[data-v-9ccdd7fa] .markdown-renderer th{font-size:var(--content-font-size)}.md[data-v-9ccdd7fa] .markdown-renderer img{background:var(--media-alpha-canvas)}.md[data-v-9ccdd7fa] strong{color:color-mix(in srgb,var(--color-text) 86%,var(--color-text-muted));font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] h1,.md[data-v-9ccdd7fa] h2,.md[data-v-9ccdd7fa] h3,.md[data-v-9ccdd7fa] h4{color:var(--color-text);font-optical-sizing:auto;font-weight:var(--weight-semibold);margin:.85em 0 .35em;line-height:var(--leading-tight)}.md[data-v-9ccdd7fa] h1{font-size:max(var(--text-xl),calc(var(--content-font-size) + 3px));border-bottom:1px solid var(--color-line);padding-bottom:4px}.md[data-v-9ccdd7fa] h2{font-size:max(var(--text-lg),calc(var(--content-font-size) + 2px))}.md[data-v-9ccdd7fa] h3{font-size:max(var(--text-lg),calc(var(--content-font-size) + 1px))}.md[data-v-9ccdd7fa] h4{font-size:max(var(--text-base),calc(var(--content-font-size) + 1px));color:var(--color-text-muted)}.md[data-v-9ccdd7fa] p{margin:.8rem 0}.md[data-v-9ccdd7fa] .node-slot+.node-slot{margin-top:.8rem}.md[data-v-9ccdd7fa] ul,.md[data-v-9ccdd7fa] ol{padding-left:1.4em;margin:.6em 0}.md[data-v-9ccdd7fa] li{margin:.3em 0}.md[data-v-9ccdd7fa] :not(pre)>code,.md[data-v-9ccdd7fa] .inline-code{font:.9em var(--font-mono);background:var(--color-surface-sunken);color:var(--color-fg);padding:0 4px;border-radius:var(--radius-sm)}.md[data-v-9ccdd7fa] strong code,.md[data-v-9ccdd7fa] strong .inline-code,.md[data-v-9ccdd7fa] b code,.md[data-v-9ccdd7fa] b .inline-code{font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] .code-block-container{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden;--vscode-editor-font-size: var(--text-sm);--vscode-editor-line-height: calc(var(--text-sm) * 1.65)}.md[data-v-9ccdd7fa] .code-block-header{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:4px 12px;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-header *{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-header .code-header-main{font-family:var(--font-ui)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn{color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn *{pointer-events:none}.md[data-v-9ccdd7fa] .code-block-shell-content,.md[data-v-9ccdd7fa] .markstream-pre{background:var(--color-surface-sunken)}.md[data-v-9ccdd7fa] .code-editor-container{line-height:1.65;--diffs-gap-block: var(--space-3)}.md[data-v-9ccdd7fa] .code-editor-container diffs-container{--diffs-line-height: 1.65em}.md[data-v-9ccdd7fa] .code-pre-fallback>.markstream-pre__line-numbers{display:none}.md[data-v-9ccdd7fa] .code-block-container .code-pre-fallback{padding-left:1ch;line-height:1.65!important}.md[data-v-9ccdd7fa] .code-block-container pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers),.md[data-v-9ccdd7fa] .markstream-pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers){margin:0;padding:12px 14px;overflow-x:auto;font:var(--text-sm)/1.65 var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-container pre code{font:inherit;color:var(--color-text);background:none;border:none;padding:0;border-radius:0}.md[data-v-9ccdd7fa] .markstream-pre,.md[data-v-9ccdd7fa] .code-pre-fallback,.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki),.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki) code{color:var(--color-text)}.md[data-v-9ccdd7fa] a{color:var(--color-accent);text-decoration:none}.md[data-v-9ccdd7fa] a:hover{text-decoration:underline}.md[data-v-9ccdd7fa] .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;margin:.6em 0}.md[data-v-9ccdd7fa] blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-line);color:var(--color-text-muted)}.md[data-v-9ccdd7fa] hr{border:none;border-top:1px solid var(--color-line);margin:.8em 0}.md[data-v-9ccdd7fa] table:not(.table-node){border-collapse:collapse;font-size:var(--text-lg);margin:.5em 0}.md[data-v-9ccdd7fa] table:not(.table-node) th,.md[data-v-9ccdd7fa] table:not(.table-node) td{border:1px solid var(--color-line);padding:4px 10px;text-align:left}.md[data-v-9ccdd7fa] table:not(.table-node) th{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium)}.md[data-v-9ccdd7fa] .table-node-wrapper{width:100%;max-width:100%!important;min-width:0;overflow-x:auto!important}.md[data-v-9ccdd7fa] .table-node{--table-border: var(--color-line);--table-header-bg: var(--color-surface);font-size:var(--text-lg);margin:.5em 0;width:max-content!important;min-width:100%;max-width:none!important;table-layout:auto!important}.md[data-v-9ccdd7fa] .table-node th,.md[data-v-9ccdd7fa] .table-node td{text-align:left;vertical-align:top;max-width:var(--p-table-cell-max)}.md[data-v-9ccdd7fa] .table-node .text-node{display:inline-block;max-width:var(--p-table-cell-max);vertical-align:top}.md[data-v-9ccdd7fa] .table-node tbody tr:hover{background-color:transparent!important}.diff-wrap[data-v-9ccdd7fa]{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden}.diff-bar[data-v-9ccdd7fa]{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-line);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.diff-lang[data-v-9ccdd7fa]{margin-right:auto}.diff-copy[data-v-9ccdd7fa]{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:2px 6px;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.diff-copy[data-v-9ccdd7fa]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.diff-copy[data-v-9ccdd7fa]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.diff-pre[data-v-9ccdd7fa]{margin:0;padding:12px 0;overflow-x:auto;background:var(--color-surface-sunken)}.diff-pre code[data-v-9ccdd7fa]{display:block;width:max-content;min-width:100%;font:var(--text-sm)/1.65 var(--font-mono);color:var(--color-text)}.diff-line[data-v-9ccdd7fa]{display:block;width:100%;padding:0 14px}.diff-sign[data-v-9ccdd7fa]{display:inline-block;width:14px;text-align:center;color:var(--color-text-muted);user-select:none}.diff-text[data-v-9ccdd7fa]{color:var(--color-text)}.diff-add[data-v-9ccdd7fa]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.diff-add .diff-sign[data-v-9ccdd7fa]{color:var(--color-success)}.diff-del[data-v-9ccdd7fa]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.diff-del .diff-sign[data-v-9ccdd7fa]{color:var(--color-danger)}.diff-hunk[data-v-9ccdd7fa]{background:var(--color-surface)}.diff-hunk .diff-text[data-v-9ccdd7fa]{color:var(--color-text-muted)}.md[data-v-9ccdd7fa],.md .markdown-renderer[data-v-9ccdd7fa]{font-family:var(--sans)}.md .code-block-container[data-v-9ccdd7fa],.md .diff-wrap[data-v-9ccdd7fa]{border-radius:var(--radius-md)}.md :not(pre)>code[data-v-9ccdd7fa],.md .inline-code[data-v-9ccdd7fa]{border-radius:var(--radius-sm)}.think[data-v-0b3b873f]{margin:0}.tc-wrap[data-v-0b3b873f]{display:grid;grid-template-rows:1fr 0fr;transition:grid-template-rows var(--duration-slow) var(--ease-out);cursor:pointer}.tc-wrap.is-collapsed[data-v-0b3b873f]{grid-template-rows:0fr 1fr}.tc-anim[data-v-0b3b873f],.prev-anim[data-v-0b3b873f]{overflow:hidden;min-height:0}.tc-wrap.is-collapsed:hover .prev[data-v-0b3b873f]{color:var(--color-text)}.tc-wrap:not(.is-collapsed):hover .tc[data-v-0b3b873f]{color:var(--color-text-muted)}.prev[data-v-0b3b873f]{color:var(--color-text-faint);font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);white-space:pre-wrap;word-break:break-word;display:block}.tc[data-v-0b3b873f]{font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;margin:0;max-height:calc(var(--leading-relaxed) * 1em * 5);overflow-y:auto}.mob[data-v-0b3b873f]{margin:0}.mob .tc[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal);max-height:calc(var(--leading-normal) * 1em * 5)}.mob .prev[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal)}.activity-notice[data-v-0d497074]{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin:0;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.msg-time[data-v-9672fbd5]{display:inline-flex;align-items:center;min-height:22px;box-sizing:border-box;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;white-space:nowrap}.msg-time[data-v-9672fbd5]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.cn[data-v-a62a6587]{margin:0;align-self:flex-end;max-width:78%;display:flex;flex-direction:column;align-items:flex-end}.cn-bubble[data-v-a62a6587]{box-sizing:border-box;max-width:100%;padding:8px 14px;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);box-shadow:var(--shadow-xs);color:var(--color-text);font-size:var(--content-font-size);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.cn-title[data-v-a62a6587]{font-weight:var(--weight-medium)}.cn-meta[data-v-a62a6587]{display:flex;align-items:center;gap:6px;margin-top:4px;padding:0 4px;color:var(--color-text-faint);font-size:var(--text-base);line-height:var(--leading-normal)}.cn-meta-ico[data-v-a62a6587]{flex:none;color:var(--color-text-faint)}.cn-meta-item[data-v-a62a6587]{white-space:nowrap}.cn-status[data-v-a62a6587]{display:inline-flex;align-items:center}.cn-status.ok[data-v-a62a6587]{color:var(--color-success)}.cn-status.error[data-v-a62a6587]{color:var(--color-danger)}.att-chip[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 9px 4px 5px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:999px;font-size:var(--ui-font-size-sm);transition:border-color var(--duration-fast) ease}.att-chip[data-v-12ec975b]:hover{border-color:var(--color-line-strong)}.att-activate[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.att-activate[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:999px}.att-tile[data-v-12ec975b]{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted);background:var(--color-surface-sunken)}.att-tile[data-v-12ec975b] .att-thumb{width:100%;height:100%;object-fit:cover;display:block}.att-name[data-v-12ec975b]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-weight:var(--weight-medium)}.att-chip.is-error[data-v-12ec975b]{border-color:var(--color-danger-bd)}.att-chip.is-error .att-err[data-v-12ec975b]{flex:none;display:flex;align-items:center;color:var(--color-danger)}.att-rm[data-v-12ec975b]{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-faint);cursor:pointer}.att-rm[data-v-12ec975b]:hover{background:var(--color-hover);color:var(--color-text)}.att-rm[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-moon[data-v-a6b7ec07]{display:inline-block;position:relative;line-height:1;user-select:none;flex:none}.ui-moon--sm[data-v-a6b7ec07]{width:14px;height:14px;font-size:14px}.ui-moon--md[data-v-a6b7ec07]{width:18px;height:18px;font-size:18px}.ui-moon--lg[data-v-a6b7ec07]{width:24px;height:24px;font-size:24px}.ui-moon__frame[data-v-a6b7ec07]{position:absolute;inset:0;display:block;text-align:center;opacity:0;animation-name:ui-moon-frame-a6b7ec07;animation-duration:.96s;animation-timing-function:steps(1,end);animation-iteration-count:infinite;animation-delay:var(--moon-frame-delay)}.ui-moon--fast .ui-moon__frame[data-v-a6b7ec07]{animation-duration:.48s;animation-delay:var(--moon-frame-fast-delay)}@keyframes ui-moon-frame-a6b7ec07{0%,12.49%{opacity:1}12.5%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.ui-moon__frame[data-v-a6b7ec07]{animation:none;opacity:0}.ui-moon__frame[data-v-a6b7ec07]:nth-child(4){opacity:1}}.ui-banner[data-v-b0afda1c]{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-banner__icon[data-v-b0afda1c]{display:inline-flex;flex:none}.ui-banner__icon svg[data-v-b0afda1c]{width:18px;height:18px}.ui-banner--info[data-v-b0afda1c]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.ui-banner--warning[data-v-b0afda1c]{background:var(--color-warning-soft);border-color:var(--color-warning-bd)}.ui-banner--danger[data-v-b0afda1c]{background:var(--color-danger-soft);border-color:var(--color-danger-bd)}.ui-banner--info .ui-banner__icon[data-v-b0afda1c]{color:var(--color-accent)}.ui-banner--warning .ui-banner__icon[data-v-b0afda1c]{color:var(--color-warning)}.ui-banner--danger .ui-banner__icon[data-v-b0afda1c]{color:var(--color-danger)}.ui-button[data-v-556ea0b6]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-button[data-v-556ea0b6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring-strong)}.ui-button[data-v-556ea0b6]:not(:disabled):active{transform:scale(.98)}.ui-button[data-v-556ea0b6]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.ui-button--sm[data-v-556ea0b6]{height:30px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-button--md[data-v-556ea0b6]{height:36px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-button--lg[data-v-556ea0b6]{height:42px;padding:0 var(--space-5);font-size:15px;border-radius:var(--radius-lg)}.ui-button__content[data-v-556ea0b6]{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-button__content[data-v-556ea0b6] svg{flex:none}.ui-button__content[data-v-556ea0b6] svg:not([width]){width:1em;height:1em}.ui-button--primary[data-v-556ea0b6]{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.ui-button--primary[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-button--secondary[data-v-556ea0b6]{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-line-strong);box-shadow:var(--shadow-xs)}.ui-button--secondary[data-v-556ea0b6]:not(:disabled):hover{border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ui-button--ghost[data-v-556ea0b6]{background:transparent;color:var(--color-text-muted);border-color:transparent}.ui-button--ghost[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-surface-sunken);color:var(--color-text)}.ui-button--danger[data-v-556ea0b6]{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger);box-shadow:var(--shadow-xs)}.ui-button--danger[data-v-556ea0b6]:not(:disabled):hover{filter:brightness(.96)}.ui-button--danger-soft[data-v-556ea0b6]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-button--danger-soft[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.ui-button.is-loading .ui-button__content[data-v-556ea0b6]{opacity:.7}.ui-button .ui-button__spinner[data-v-556ea0b6]{flex:none;color:inherit}.ui-button__spinner[data-v-556ea0b6] .ui-spinner__track{opacity:.35}.chat-empty[data-v-38800964]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;color:var(--faint);text-align:center}.chat-empty-text[data-v-38800964]{font-size:var(--ui-font-size-sm)}.chat-loading[data-v-38800964]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--muted)}.chat-loading-text[data-v-38800964]{font-size:var(--ui-font-size-sm)}.chat[data-v-38800964]{--chat-turn-gap: 16px;--chat-block-gap: 10px;--chat-section-gap: 18px;display:flex;flex-direction:column;gap:0;padding:16px 14px 20px;flex:1;min-height:0;position:relative}.chat .chat-empty[data-v-38800964]{align-self:stretch}.open-unsupported[data-v-38800964]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);max-width:min(90%,480px);padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:1}.chat>.u-turn[data-v-38800964],.chat>.a-msg[data-v-38800964],.chat>.compact-divider[data-v-38800964],.chat>.cron-notice[data-v-38800964],.chat>.sending-placeholder[data-v-38800964],.chat[data-v-38800964]>.activity-notice{margin-top:var(--chat-turn-gap)}.chat>.a-msg[data-v-38800964]{margin-top:10px}.chat>.u-turn[data-v-38800964]:first-child,.chat>.a-msg[data-v-38800964]:first-child,.chat>.compact-divider[data-v-38800964]:first-child,.chat>.cron-notice[data-v-38800964]:first-child,.chat>.sending-placeholder[data-v-38800964]:first-child,.chat[data-v-38800964]>.activity-notice:first-child{margin-top:0}.u-turn[data-v-38800964]{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-start;width:100%}.u-bub[data-v-38800964]{align-self:flex-end;max-width:78%;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);color:var(--color-text);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;font-size:var(--content-font-size);line-height:var(--leading-normal);box-shadow:var(--shadow-xs)}.u-meta[data-v-38800964]{align-self:flex-end;display:flex;justify-content:flex-end;align-items:center;max-width:78%;margin-top:2px;margin-right:4px}.u-meta .u-edit[data-v-38800964]{min-height:22px;box-sizing:border-box}.u-text[data-v-38800964]{white-space:pre-wrap;overflow-wrap:anywhere}.u-edit[data-v-38800964]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s}.u-edit svg[data-v-38800964]{display:block;flex:none}.u-edit[data-v-38800964]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-copy[data-v-38800964]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.u-copy svg[data-v-38800964]{display:block;flex:none}.u-copy[data-v-38800964]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-edit-wrap[data-v-38800964]{display:flex;justify-content:flex-end}.chat>.u-edit-wrap[data-v-38800964]{margin-top:4px}.chat>.u-edit-wrap+.a-msg[data-v-38800964]{margin-top:8px}.compact-divider[data-v-38800964]{display:flex;align-items:center;gap:10px;align-self:stretch;width:100%;margin:var(--chat-section-gap) 0 0}.chat>.compact-divider[data-v-38800964]:first-child{margin-top:0}.cd-line[data-v-38800964]{flex:1;height:1px;background:var(--line)}.cd-label[data-v-38800964]{flex:none;display:inline-flex;align-items:center;gap:8px;max-width:80%;font-size:var(--text-base);color:var(--muted);white-space:nowrap}.cd-btn[data-v-38800964]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--text-base);color:var(--muted)}.cd-view[data-v-38800964]{color:var(--color-accent)}.cd-btn:hover .cd-view[data-v-38800964]{text-decoration:underline}.a-msg[data-v-38800964]{align-self:flex-start;max-width:94%;width:94%}.a-msg-ft[data-v-38800964]{display:flex;justify-content:flex-start;align-items:center;gap:8px;height:auto;margin-top:var(--chat-block-gap);overflow:visible}.a-cpbtn[data-v-38800964]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.a-cpbtn[data-v-38800964]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.a-cpbtn svg[data-v-38800964]{display:block;flex:none}@media(hover:none){.a-msg-ft[data-v-38800964]{height:auto;margin-top:var(--chat-block-gap);opacity:1;pointer-events:auto}.a-cpbtn[data-v-38800964]{font-size:var(--ui-font-size-sm);padding:8px 10px;margin:-4px -6px}}.a-msg .msg[data-v-38800964]{font-size:var(--ui-font-size);line-height:1.6;color:var(--color-text);font-weight:500}.a-msg .msg[data-v-38800964] p{margin:0}.a-msg .msg[data-v-38800964] p+p{margin-top:8px}.a-msg>.msg[data-v-38800964],.a-msg[data-v-38800964]>.think,.a-msg[data-v-38800964]>.tool-group,.a-msg[data-v-38800964]>.agent-card,.a-msg[data-v-38800964]>.agent-group,.a-msg[data-v-38800964]>.box,.a-msg[data-v-38800964]>.swarm-card,.a-msg[data-v-38800964]>.media-tool,.a-msg[data-v-38800964]>.ui-banner{margin-top:var(--chat-block-gap)}.a-msg>.msg[data-v-38800964]:first-child,.a-msg[data-v-38800964]>.think:first-child,.a-msg[data-v-38800964]>.tool-group:first-child,.a-msg[data-v-38800964]>.agent-card:first-child,.a-msg[data-v-38800964]>.agent-group:first-child,.a-msg[data-v-38800964]>.box:first-child,.a-msg[data-v-38800964]>.swarm-card:first-child,.a-msg[data-v-38800964]>.media-tool:first-child,.a-msg[data-v-38800964]>.ui-banner:first-child{margin-top:0}.a-msg[data-v-38800964] code{font:.9em var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1px 6px;color:var(--color-accent-hover)}@container (min-width: 760px){.a-msg .msg[data-v-38800964] .markstream-vue.markdown-renderer:has(.table-node-wrapper){content-visibility:visible}.a-msg .msg[data-v-38800964] .table-node-wrapper{position:relative;left:50%;width:max-content;min-width:100%;max-width:min(var(--p-table-max),calc(100cqi - var(--space-5) - var(--space-5)))!important;transform:translate(-50%)}}.u-atts[data-v-38800964]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sending-placeholder[data-v-38800964]{align-self:flex-start;padding:10px 0}.turn-error[data-v-38800964]{flex-wrap:wrap}.turn-error-text[data-v-38800964]{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-error-resume[data-v-38800964]{margin-left:auto;flex:none}.skill-act[data-v-38800964]{display:flex;flex-direction:column;gap:2px}.skill-act-head[data-v-38800964]{font-size:var(--ui-font-size-sm);font-weight:500;color:var(--color-accent-hover);display:flex;align-items:center;gap:6px}.skill-act-arrow[data-v-38800964]{color:var(--color-accent);font-size:var(--text-base)}.skill-act-args[data-v-38800964]{font-size:var(--text-base);color:var(--muted);padding-left:17px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:640px){.chat[data-v-38800964]{box-sizing:border-box;width:100%;padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}.u-bub[data-v-38800964]{max-width:min(88%,calc(100vw - 52px))}.a-msg[data-v-38800964]{width:100%;max-width:100%}.u-bub .u-text[data-v-38800964],.a-msg .msg[data-v-38800964]{font-size:var(--ui-font-size-xl)}.a-msg[data-v-38800964] .md,.a-msg[data-v-38800964] .markdown-renderer,.a-msg[data-v-38800964] .code-block-container,.a-msg[data-v-38800964] .diff-wrap,.a-msg[data-v-38800964] pre{max-width:100%}.a-msg[data-v-38800964] .code-block-container pre,.a-msg[data-v-38800964] .diff-pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.a-msg[data-v-38800964] .media-tool.mob{width:min(44vw,160px)}.cd-label[data-v-38800964]{min-width:0;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis}.u-edit-confirm[data-v-38800964]{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 28px)}.ts[data-v-38800964]{font-size:var(--ui-font-size-sm)}.chat-empty-text[data-v-38800964],.chat-loading-text[data-v-38800964]{font-size:var(--ui-font-size-lg)}.cd-label[data-v-38800964],.cd-btn[data-v-38800964]{font-size:var(--ui-font-size)}}.top-sentinel[data-v-38800964]{display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:28px}.top-sentinel-loading[data-v-38800964]{opacity:.8}.top-sentinel-btn[data-v-38800964]{appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--ui-font-size-sm);padding:4px 12px;border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.top-sentinel-btn[data-v-38800964]:hover{color:var(--fg);border-color:var(--fg)}.top-sentinel-text[data-v-38800964]{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-font-size-sm)}.chat[data-v-38800964]{background:transparent}.chat[data-v-38800964]{gap:0;padding:22px 20px 26px}.u-bub[data-v-38800964]{background:var(--color-accent-soft);border-color:var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;box-shadow:var(--shc)}.a-msg[data-v-38800964]{max-width:100%;width:100%}.chat>.q-stack[data-v-38800964]{margin-top:var(--chat-turn-gap)}.chat>.q-stack[data-v-38800964]:first-child{margin-top:0}.q-stack[data-v-38800964]{align-self:flex-end;width:100%;display:flex;flex-direction:column;gap:8px}.q-head[data-v-38800964]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 6px;color:var(--color-text-faint);font-size:var(--ui-font-size-xs)}.q-title[data-v-38800964]{display:inline-flex;align-items:center;gap:6px}.q-title b[data-v-38800964]{color:var(--color-accent-hover);font-weight:var(--weight-medium)}.q-hint[data-v-38800964]{color:var(--color-text-faint)}.q-turn[data-v-38800964]{position:relative}.q-bub[data-v-38800964]{display:flex;align-items:center;gap:8px;width:fit-content;background:var(--color-surface-raised);border:1px dashed var(--color-accent-bd);padding:8px 8px 8px 6px;transition:border-color .12s ease,background .12s ease}.q-bub[data-v-38800964]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.q-grip[data-v-38800964]{flex:none;display:inline-flex;align-items:center;padding:2px;color:var(--color-text-faint);cursor:grab;opacity:.7}.q-grip[data-v-38800964]:hover{opacity:1}.q-grip[data-v-38800964]:active{cursor:grabbing}.q-body[data-v-38800964]{flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-text);text-align:left;cursor:pointer;opacity:.82}.q-bub:hover .q-body[data-v-38800964]{opacity:1}.q-body[data-v-38800964]:disabled{cursor:default}.q-text[data-v-38800964]{white-space:pre-wrap;overflow-wrap:anywhere}.q-text-placeholder[data-v-38800964]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.q-imgs[data-v-38800964]{display:flex;gap:4px;flex:none}.q-img[data-v-38800964]{width:28px;height:28px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-line)}.q-file[data-v-38800964]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:var(--radius-sm);border:1px solid var(--color-line);color:var(--color-text-muted);font-size:calc(var(--ui-font-size) - 3px);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-tag[data-v-38800964]{flex:none;padding:1px 6px;border-radius:var(--radius-full);font-size:var(--ui-font-size-xs);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap}.q-tag-next[data-v-38800964]{color:var(--color-accent-hover);background:var(--color-accent-soft);border:1px solid var(--color-accent-bd)}.q-tag-idx[data-v-38800964]{color:var(--color-text-faint);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.q-steer[data-v-38800964],.q-rm[data-v-38800964]{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.q-steer[data-v-38800964]{position:relative;touch-action:manipulation}.q-steer[data-v-38800964]:after{content:"";position:absolute;inset:-11px}.q-bub:hover .q-steer[data-v-38800964],.q-bub:focus-within .q-steer[data-v-38800964],.q-steer[data-v-38800964]:focus-visible,.q-bub:hover .q-rm[data-v-38800964],.q-bub:focus-within .q-rm[data-v-38800964],.q-rm[data-v-38800964]:focus-visible{opacity:1}.q-steer[data-v-38800964]:hover{background:var(--color-accent-soft);color:var(--color-accent)}.q-rm[data-v-38800964]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.q-turn.q-dragging .q-bub[data-v-38800964]{opacity:.45}.q-turn.drop-before[data-v-38800964]:before,.q-turn.drop-after[data-v-38800964]:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--color-accent);border-radius:var(--radius-full);z-index:1}.q-turn.drop-before[data-v-38800964]:before{top:-5px}.q-turn.drop-after[data-v-38800964]:after{bottom:-5px}.chat[data-v-38800964] .chat-search-hit{background:var(--color-accent-soft);border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--color-accent-bd);padding:0 1px}.chat[data-v-38800964] .chat-search-hit--active{background:var(--color-accent);color:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-accent)}.chat-header[data-v-a3848f6a]{flex:none;display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui);min-width:0}.chat-header.macos-desktop[data-v-a3848f6a]{-webkit-app-region:drag}.chat-header.macos-desktop button[data-v-a3848f6a],.chat-header.macos-desktop input[data-v-a3848f6a]{-webkit-app-region:no-drag}.ch-id[data-v-a3848f6a]{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:46%}.ch-ws[data-v-a3848f6a]{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);flex:none}.ch-sep[data-v-a3848f6a]{color:var(--color-text-faint);flex:none}.ch-ses[data-v-a3848f6a]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-rename[data-v-a3848f6a]{flex:1;min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.ch-git[data-v-a3848f6a]{display:flex;align-items:center;gap:4px;border:none;background:transparent;padding:0;color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);flex:0 1 auto;max-width:none;min-width:0;cursor:pointer}.ch-git:hover .ch-branch[data-v-a3848f6a]{color:var(--color-text)}.ch-branch[data-v-a3848f6a]{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}.ch-detached[data-v-a3848f6a]{color:var(--muted);font-style:italic}.ch-pill[data-v-a3848f6a]{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:calc(var(--ui-font-size) - 3px)}.ch-sync-pill[data-v-a3848f6a]{border-color:var(--line)}.ch-diff-pill[data-v-a3848f6a]{border-color:color-mix(in srgb,var(--color-success) 20%,var(--line))}.ch-ahead[data-v-a3848f6a]{color:var(--color-warning);flex:none}.ch-behind[data-v-a3848f6a]{color:var(--color-accent-hover);flex:none}.ch-add[data-v-a3848f6a]{color:var(--color-success);flex:none}.ch-del[data-v-a3848f6a]{color:var(--color-danger);flex:none}.ch-spacer[data-v-a3848f6a]{flex:1;min-width:0}.ch-act-more.open[data-v-a3848f6a],.ch-act-search.active[data-v-a3848f6a]{background:var(--color-surface-sunken);color:var(--color-text)}.ch-pr[data-v-a3848f6a]{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;flex:none;border:1px solid var(--color-line);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer}.ch-pr svg[data-v-a3848f6a]{flex:none}.ch-pr.pr-open[data-v-a3848f6a]{color:var(--color-success);border-color:var(--color-success-bd);background:var(--color-success-soft)}.ch-pr.pr-merged[data-v-a3848f6a]{color:var(--color-done);border-color:var(--color-done-bd);background:var(--color-done-soft)}.ch-pr.pr-closed[data-v-a3848f6a]{color:var(--color-danger);border-color:var(--color-danger-bd);background:var(--color-danger-soft)}.ch-pr.pr-draft[data-v-a3848f6a],.ch-pr.pr-unknown[data-v-a3848f6a]{color:var(--color-text-muted);border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ch-pr[data-v-a3848f6a]:hover{border-color:var(--color-line-strong)}.ch-menu[data-v-a3848f6a]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}@media(max-width:980px){.ch-act-label[data-v-a3848f6a]{display:none}}@media(max-width:640px){.chat-header[data-v-a3848f6a]{display:none}}.slash-menu[data-v-3f12a9ed]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.slash-scroller[data-v-3f12a9ed]{position:relative}.slash-list[data-v-3f12a9ed]{max-height:240px;overflow-y:auto}.slash-item[data-v-3f12a9ed]{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);align-items:start;gap:10px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.slash-item[data-v-3f12a9ed]:hover{background:var(--color-surface-sunken)}.slash-item.active[data-v-3f12a9ed]{background:var(--color-accent-soft)}.slash-item.active .slash-name[data-v-3f12a9ed]{color:var(--color-accent-hover)}.slash-name[data-v-3f12a9ed]{color:var(--color-accent);font-weight:500;min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold)}.slash-desc-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold);color:var(--color-text)}.slash-desc[data-v-3f12a9ed]{color:var(--color-text-muted);font-size:var(--text-xs);min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-empty[data-v-3f12a9ed]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.menu-scroll-thumb[data-v-3f12a9ed]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-3f12a9ed]:hover,.menu-scroll-thumb[data-v-3f12a9ed]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-3f12a9ed]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-3f12a9ed]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-3f12a9ed]{bottom:var(--space-1);background:var(--menu-fade-bottom)}@media(max-width:520px){.slash-item[data-v-3f12a9ed]{grid-template-columns:minmax(0,1fr);gap:2px}}.slash-menu[data-v-3f12a9ed]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.slash-desc[data-v-3f12a9ed]{font-family:var(--sans)}.mention-menu[data-v-b8578b17]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.mention-scroller[data-v-b8578b17]{position:relative}.mention-list[data-v-b8578b17]{max-height:220px;overflow-y:auto}.mention-state[data-v-b8578b17]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm)}.dim[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.mention-icon[data-v-b8578b17]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--color-text-faint);flex-shrink:0}.mention-icon[data-v-b8578b17] svg{width:13px;height:13px;display:block}.mention-item:hover .mention-icon[data-v-b8578b17],.mention-item.active .mention-icon[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]:hover{background:var(--color-surface-sunken)}.mention-item.active[data-v-b8578b17]{background:var(--color-accent-soft)}.mention-name[data-v-b8578b17]{color:var(--color-text);font-weight:500;min-width:80px;flex-shrink:0}.mention-path[data-v-b8578b17]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-scroll-thumb[data-v-b8578b17]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-b8578b17]:hover,.menu-scroll-thumb[data-v-b8578b17]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-b8578b17]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-b8578b17]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-b8578b17]{bottom:var(--space-1);background:var(--menu-fade-bottom)}.mention-menu[data-v-b8578b17]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.mention-state[data-v-b8578b17]{font-family:var(--sans)}.ctx-ring[data-v-a364f1f1]{width:16px;height:16px;flex:none;transform:rotate(-90deg)}.ctx-ring-track[data-v-a364f1f1]{stroke:var(--line)}.ctx-ring-fill[data-v-a364f1f1]{stroke:var(--color-accent);transition:stroke-dashoffset .3s ease,stroke .3s ease}.composer[data-v-35d707a6]{padding:7px var(--dock-inline-right, 16px) 12px var(--dock-inline-left, 16px);background:transparent;transition:background .12s}.composer.drag-over[data-v-35d707a6]{background:var(--color-accent-soft)}.drop-overlay[data-v-35d707a6]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 72%,transparent);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-base) ease,visibility var(--duration-base)}.drop-overlay.show[data-v-35d707a6]{opacity:1;visibility:visible}.drop-card[data-v-35d707a6]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);border:1.5px dashed var(--color-accent);background:var(--color-bg);color:var(--color-accent);font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);box-shadow:var(--shadow-md)}.composer-card[data-v-35d707a6]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);position:relative;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg);box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s}.composer-card[data-v-35d707a6]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 3px var(--color-accent-soft)}.att-strip[data-v-35d707a6]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.att-lightbox[data-v-35d707a6]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:24px;background:#14171c9e}.att-lightbox-card[data-v-35d707a6]{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.att-lightbox-media[data-v-35d707a6]{max-width:100%;max-height:calc(100vh - 96px);border-radius:6px;background:var(--bg);box-shadow:var(--shadow-xl);object-fit:contain}.att-lightbox-name[data-v-35d707a6]{max-width:100%;color:var(--surface-light);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-lightbox-close[data-v-35d707a6]{position:absolute;top:-14px;right:-14px;width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#14171cd1;color:var(--surface-light);cursor:pointer}.file-input-hidden[data-v-35d707a6]{display:none}.cin-wrap[data-v-35d707a6]{position:relative;padding:14px 16px 8px}.input-row[data-v-35d707a6]{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.expand-btn[data-v-35d707a6]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--dim);cursor:pointer;padding:0;transition:background .12s,color .12s}.expand-btn[data-v-35d707a6]:hover{background:var(--panel2);color:var(--color-text)}.expand-btn[data-v-35d707a6]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ph[data-v-35d707a6]{color:var(--faint);caret-color:var(--color-text);padding-left:var(--wm-pill-w, 0px);transition:padding-left .12s ease;flex:1;border:none;outline:none;resize:none;font-family:var(--font-ui);font-size:var(--content-font-size);background:transparent;min-height:36px;max-height:25vh;overflow-y:auto;line-height:1.5;margin-bottom:6px}.ph[data-v-35d707a6]::placeholder{color:var(--muted)}.ph[data-v-35d707a6]:not(:placeholder-shown){color:var(--color-text)}.composer.expanded .ph[data-v-35d707a6]{min-height:70vh;max-height:70vh}.compact-chip[data-v-35d707a6]{background:none;border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--color-warning);font-family:var(--mono);font-size:var(--ui-font-size);padding:0 4px;cursor:pointer;height:19px;line-height:17px;flex:none}.compact-chip[data-v-35d707a6]:hover{background:var(--panel2)}.send[data-v-35d707a6]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-accent);color:var(--color-text-on-accent);border:none;box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .25s ease,transform .12s ease;position:relative}.send[data-v-35d707a6]:hover{background:var(--color-accent-hover)}.send[data-v-35d707a6]:active{transform:scale(.92)}.send[data-v-35d707a6]:disabled{cursor:not-allowed;opacity:.88}.send[data-v-35d707a6]:disabled:active{transform:none}.send.is-starting[data-v-35d707a6] .ui-spinner{color:var(--color-text-on-accent)}.send.is-starting[data-v-35d707a6] .ui-spinner__track{stroke:color-mix(in srgb,var(--color-text-on-accent) 32%,transparent)}.send svg[data-v-35d707a6]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.stop[data-v-35d707a6]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-bd);box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.stop[data-v-35d707a6]:hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.stop[data-v-35d707a6]:active{transform:scale(.92)}.stop svg[data-v-35d707a6]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.toolbar[data-v-35d707a6]{display:flex;align-items:center;justify-content:space-between;padding:6px var(--composer-send-inset) var(--composer-send-inset);position:relative}.menu-measure[data-v-35d707a6]{position:absolute;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.toolbar-left[data-v-35d707a6],.toolbar-right[data-v-35d707a6]{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.perm-pill[data-v-35d707a6]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);color:var(--color-text);cursor:pointer;user-select:none;transition:background .1s,color .15s;font-family:var(--font-ui);font-weight:var(--weight-medium)}.perm-pill[data-v-35d707a6]:hover{background:var(--color-surface-sunken)}.perm-pill.open[data-v-35d707a6]{background:var(--color-accent-soft)}.perm-pill.perm-manual[data-v-35d707a6]{color:var(--dim)}.perm-pill.perm-yolo[data-v-35d707a6]{color:var(--color-warning)}.perm-pill.perm-auto[data-v-35d707a6]{color:var(--color-danger)}.ctx-group[data-v-35d707a6]{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 4px;border-radius:var(--radius-xs)}.ctx-group[data-v-35d707a6]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.model-pill[data-v-35d707a6]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);line-height:var(--leading-normal);color:var(--dim);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;user-select:none;transition:background .1s;position:relative;overflow:hidden}.model-pill[data-v-35d707a6]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.model-pill.open[data-v-35d707a6]{background:var(--color-accent-soft)}.model-pill b[data-v-35d707a6]{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:280px}.model-pill .think-suffix[data-v-35d707a6]{color:var(--color-accent);font-weight:500;flex-shrink:0}.model-pill .cv[data-v-35d707a6]{color:var(--faint);flex:none}.model-pill:hover .cv[data-v-35d707a6],.model-pill.open .cv[data-v-35d707a6]{color:var(--color-accent-hover)}.model-dropdown[data-v-35d707a6]{position:absolute;bottom:calc(100% + 4px);right:10px;z-index:var(--z-dropdown);min-width:200px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;max-height:min(520px,calc(100vh - 96px));max-height:min(520px,calc(100dvh - 96px));overflow-y:auto;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.md-section[data-v-35d707a6]{padding:4px 7px 2px;font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:0;font-weight:var(--weight-semibold)}.md-row[data-v-35d707a6]{display:flex;align-items:center;gap:7px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);padding:5px 7px;border-radius:6px;text-align:left}.md-row[data-v-35d707a6]:hover{background:var(--color-surface-sunken)}.md-row[data-v-35d707a6]:disabled{cursor:default;opacity:.58}.md-row[data-v-35d707a6]:disabled:hover{background:none}.md-row.is-current[data-v-35d707a6]{color:var(--color-text);background:var(--color-accent-soft)}.md-row.is-on[data-v-35d707a6]{color:var(--color-accent)}.md-note[data-v-35d707a6]{margin-left:auto;color:var(--muted);font-size:var(--ui-font-size-xs)}.md-row-more[data-v-35d707a6]{color:var(--color-accent);font-weight:500}.md-row-more[data-v-35d707a6]:hover{background:var(--color-accent-soft)}.md-check[data-v-35d707a6]{width:14px;flex:none;color:var(--color-accent);font-weight:500;display:flex;justify-content:center}.md-name[data-v-35d707a6]{flex:1}.md-provider[data-v-35d707a6]{color:var(--muted);font-size:var(--ui-font-size-xs);flex:none}.md-star[data-v-35d707a6]{color:var(--star);flex:none;margin-left:auto}.md-divider[data-v-35d707a6]{height:1px;background:var(--line);margin:3px 0}.md-thinking[data-v-35d707a6]{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:var(--radius-sm)}.md-thinking .md-name[data-v-35d707a6]{font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);flex:none}.md-thinking .md-note[data-v-35d707a6]{margin-left:auto}.effort-segments[data-v-35d707a6]{margin-left:auto;display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.effort-seg[data-v-35d707a6]{appearance:none;border:none;background:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size-xs);line-height:1;color:var(--color-text-muted);padding:4px 9px;border-radius:var(--radius-sm);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.effort-seg[data-v-35d707a6]:hover:not(:disabled):not(.is-active){background:var(--color-surface-raised);color:var(--color-text)}.effort-seg[data-v-35d707a6]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.effort-seg.is-active[data-v-35d707a6]{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-xs);font-weight:500}.effort-seg[data-v-35d707a6]:disabled{cursor:default}.md-thinking.is-readonly .effort-segments[data-v-35d707a6]{opacity:.62}.md-cache-note[data-v-35d707a6]{width:0;min-width:100%;padding:2px 7px 4px;color:var(--muted);font-size:var(--ui-font-size-xs);line-height:1.4}.md-thinking.is-readonly .effort-seg.is-active[data-v-35d707a6]{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none}.perm-dropdown[data-v-35d707a6]{position:absolute;bottom:calc(100% + 4px);left:10px;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:min(calc(100vw - var(--space-8)),calc(100% - 20px));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px}.pd-row[data-v-35d707a6]{display:grid;grid-template-columns:14px var(--composer-menu-desc-width, max-content);column-gap:7px;row-gap:2px;align-items:start;width:100%;background:none;border:none;cursor:pointer;padding:6px 7px;border-radius:6px;text-align:left}.pd-row[data-v-35d707a6]:hover{background:var(--color-surface-sunken)}.pd-row.is-current[data-v-35d707a6]{background:var(--color-accent-soft)}.pd-check[data-v-35d707a6]{grid-column:1;grid-row:1;width:14px;min-height:1lh;color:var(--color-accent);font-size:var(--ui-font-size);font-weight:var(--weight-medium);display:flex;align-items:center;justify-content:center;line-height:var(--leading-normal)}.pd-info[data-v-35d707a6]{display:contents}.pd-name[data-v-35d707a6]{grid-column:2;grid-row:1;font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.pd-desc[data-v-35d707a6]{grid-column:2;grid-row:2;width:var(--composer-menu-desc-width, auto);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted);line-height:var(--leading-normal)}.wm-pill[data-v-35d707a6]{position:absolute;left:0;top:0;z-index:var(--z-sticky);display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 8px;border:1px solid var(--color-accent-bd);border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-hover);font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal);white-space:nowrap;user-select:none}.wm-pill .kw-icon[data-v-35d707a6]{flex:none}.wm-x[data-v-35d707a6]{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:inherit;opacity:.6;cursor:pointer;padding:0 2px;border-radius:var(--radius-sm)}.wm-x[data-v-35d707a6]:hover{opacity:1}.wm-x[data-v-35d707a6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.add-menu-anchor[data-v-35d707a6]{display:inline-flex;flex:none}.add-menu-anchor .ui-icon-button.is-open[data-v-35d707a6]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.add-menu[data-v-35d707a6]{position:fixed;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:calc(100vw - var(--space-8));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.add-menu .pd-check[data-v-35d707a6]{color:var(--muted)}.add-menu .pd-row.is-current .pd-check[data-v-35d707a6],.add-menu .pd-row.is-current .pd-name[data-v-35d707a6]{color:var(--color-accent-hover)}.mode-chip[data-v-35d707a6]{display:inline-flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;overflow:hidden;transition:background .1s,border-color .1s,color .15s}.mode-chip[data-v-35d707a6]:hover{background:var(--color-surface-sunken)}.mode-chip.on[data-v-35d707a6]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.mode-chip-main[data-v-35d707a6]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:none;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal);cursor:pointer;user-select:none}.mode-chip-main[data-v-35d707a6]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-main[data-v-35d707a6]{color:var(--color-accent-hover)}.mode-chip-x[data-v-35d707a6]{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:none;background:none;color:inherit;cursor:pointer}.mode-chip-x[data-v-35d707a6]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-x[data-v-35d707a6]:hover{color:var(--color-accent-hover)}.mode-chip-x[data-v-35d707a6]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:980px){.model-pill b[data-v-35d707a6]{max-width:130px}.perm-pill[data-v-35d707a6]{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.composer[data-v-35d707a6]{padding:9px var(--dock-inline-right, max(12px, var(--safe-right))) max(24px,var(--safe-bottom)) var(--dock-inline-left, max(12px, var(--safe-left)))}.composer-card[data-v-35d707a6]{--composer-send-size: 36px;max-width:100%}.input-row[data-v-35d707a6]{gap:6px;min-width:0}.send[data-v-35d707a6]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.send svg[data-v-35d707a6]{display:none}.send[data-v-35d707a6]:after{content:"↑";font-size:17px;line-height:1;color:var(--bg)}.stop[data-v-35d707a6]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.stop svg[data-v-35d707a6]{display:none}.stop[data-v-35d707a6]:after{content:"■";font-size:17px;line-height:1}.perm-pill[data-v-35d707a6],.add-menu-anchor[data-v-35d707a6],.mode-chip[data-v-35d707a6]{display:none}.model-dropdown[data-v-35d707a6]{right:10px;left:auto;min-width:180px;max-width:calc(100vw - 24px)}.ph[data-v-35d707a6]{font-size:16px}.model-pill[data-v-35d707a6],.attach-btn[data-v-35d707a6]{font-size:var(--ui-font-size)}.toolbar[data-v-35d707a6]{gap:6px;min-width:0}.toolbar-left[data-v-35d707a6],.toolbar-right[data-v-35d707a6]{min-width:0}.model-pill[data-v-35d707a6]{max-width:min(52vw,220px)}.model-pill b[data-v-35d707a6]{max-width:min(40vw,170px)}.md-row[data-v-35d707a6],.md-section[data-v-35d707a6]{font-size:var(--ui-font-size)}.md-thinking[data-v-35d707a6]{flex-wrap:wrap;row-gap:6px}.md-thinking .effort-segments[data-v-35d707a6]{margin-left:0;width:100%;justify-content:space-between}.md-thinking .effort-seg[data-v-35d707a6]{flex:1;padding:5px 6px}.pd-name[data-v-35d707a6]{font-size:var(--ui-font-size)}.pd-desc[data-v-35d707a6]{font-size:var(--text-xs)}}.ui-card[data-v-9c9f9a9a]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.ui-card.is-elevated[data-v-9c9f9a9a]{box-shadow:var(--shadow-md);border-color:transparent}.ui-card__head[data-v-9c9f9a9a]{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;border-bottom:1px solid var(--color-line);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.ui-card__body[data-v-9c9f9a9a]{padding:14px;color:var(--color-text-muted)}.ui-card__foot[data-v-9c9f9a9a]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:10px 14px;border-top:1px solid var(--color-line);background:var(--color-surface)}.goal-strip[data-v-9e444f61]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);--goal-corner-radius: calc((var(--composer-send-size) / 2) + var(--composer-send-inset) + var(--space-3));margin:var(--space-2) var(--space-4) 0;box-shadow:var(--shadow-md)}.goal-strip.ui-card[data-v-9e444f61]{border-radius:var(--goal-corner-radius);corner-shape:superellipse(1.5)}.goal-strip:not(.expanded).ui-card[data-v-9e444f61]{border-radius:var(--radius-full);corner-shape:round}.goal-strip[data-v-9e444f61] .ui-card__foot{padding:var(--composer-send-inset)}.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{padding-left:calc((var(--composer-send-inset) + var(--composer-send-size)) / 2)}.goal-strip[data-v-9e444f61] .ui-card__body{background:var(--color-surface-raised);max-height:480px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__body{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.goal-strip[data-v-9e444f61] .ui-card__head{border-bottom-color:var(--color-line);transition:border-bottom-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__head{border-bottom-color:transparent}.goal-row[data-v-9e444f61]{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:transparent;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);text-align:left;cursor:pointer}.goal-kicker[data-v-9e444f61]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.goal-icon[data-v-9e444f61]{flex:none;color:var(--color-success);margin-right:calc(-1 * var(--space-1))}.goal-objective[data-v-9e444f61]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:var(--text-base);text-align:left}.goal-objective.expanded-hidden[data-v-9e444f61]{visibility:hidden;pointer-events:none}.goal-status[data-v-9e444f61]{flex:none}.goal-progress[data-v-9e444f61]{width:54px;height:4px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.goal-progress-fill[data-v-9e444f61]{display:block;height:100%;border-radius:var(--radius-sm);background:var(--color-success)}.goal-chevron[data-v-9e444f61]{width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out);flex:none}.goal-chevron.open[data-v-9e444f61]{transform:rotate(90deg)}.goal-full[data-v-9e444f61]{color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.goal-criterion[data-v-9e444f61]{margin-top:var(--space-3);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.goal-criterion p[data-v-9e444f61]{margin:var(--space-1) 0 0;color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);text-transform:none}.goal-footer[data-v-9e444f61]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-width:0}.goal-strip[data-v-9e444f61] .ui-card__foot{max-height:100px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out),border-top-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__foot{max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;opacity:0}.goal-meta[data-v-9e444f61]{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.goal-actions[data-v-9e444f61]{display:flex;gap:var(--space-2);justify-content:flex-end;flex:none}.goal-action[data-v-9e444f61]{flex:none;min-width:0;height:var(--composer-send-size);border-radius:var(--radius-full);padding-inline:var(--space-4)}.goal-action[data-v-9e444f61] .ui-button__content{gap:var(--space-1)}@media(max-width:640px){.goal-strip[data-v-9e444f61]{--composer-send-size: 36px;margin:var(--space-2) var(--space-3) 0}.goal-progress[data-v-9e444f61]{display:none}}@media(prefers-reduced-motion:reduce){.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{transition:none}}.qcard[data-v-2af45fec]{margin:var(--space-2) 0}.qcard.ui-card[data-v-2af45fec]{border-color:var(--color-accent-bd)}.qcard[data-v-2af45fec] .ui-card__head{background:var(--color-accent-soft);border-bottom-color:var(--color-accent-bd)}.qcard.minimized[data-v-2af45fec] .ui-card__body{display:none}.qcard.minimized[data-v-2af45fec] .ui-card__head{border-bottom:none}.qh[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.qh-ic[data-v-2af45fec]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.qtitle[data-v-2af45fec]{color:var(--color-accent-hover);font-size:var(--text-base);font-weight:var(--weight-semibold)}.qstep[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);margin-left:var(--space-1)}.qmin[data-v-2af45fec]{margin-left:auto}.qmin-peek[data-v-2af45fec]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.qbody[data-v-2af45fec]{color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui)}.qsteps[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-ui)}.qstep-dot[data-v-2af45fec]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);cursor:pointer;padding:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.qstep-dot[data-v-2af45fec]:hover:not(.active){background:var(--color-surface-sunken)}.qstep-dot.active[data-v-2af45fec]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-medium)}.qstep-dot.answered[data-v-2af45fec]:not(.active){border-color:var(--color-accent);color:var(--color-accent)}.qheader-chip[data-v-2af45fec]{margin-bottom:var(--space-2)}.qtext[data-v-2af45fec]{font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-medium);margin-bottom:var(--space-2);line-height:var(--leading-normal)}.qmdbody[data-v-2af45fec]{margin-bottom:var(--space-2)}.qopts[data-v-2af45fec]{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.qopt[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);user-select:none}.qopt[data-v-2af45fec]:hover{background:var(--color-surface-sunken)}.qopt.selected[data-v-2af45fec]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.qopt-key[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-weight:var(--weight-medium);width:12px;flex:none;text-align:center}.qopt-glyph[data-v-2af45fec]{color:var(--color-accent-hover);font-size:var(--text-base);flex:none}.qopt-text[data-v-2af45fec]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qopt-label[data-v-2af45fec]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium)}.qopt-desc[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.chk[data-v-2af45fec],.rad[data-v-2af45fec]{font:var(--text-base) var(--font-mono)}.other-input[data-v-2af45fec]{flex:1;font:var(--text-base) var(--font-ui);border:none;border-bottom:1px solid var(--color-line);outline:none;padding:2px var(--space-1);color:var(--color-text);background:transparent;min-width:0}.other-input[data-v-2af45fec]:focus-visible{border-bottom-color:var(--color-accent);box-shadow:0 1px 0 0 var(--color-accent)}.qfoot[data-v-2af45fec]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}@media(max-width:640px){.qh[data-v-2af45fec]{flex-wrap:wrap;row-gap:var(--space-1)}.qtext[data-v-2af45fec]{font-size:var(--text-lg)}.qstep-dot[data-v-2af45fec]{width:28px;height:28px;font:var(--text-xs) var(--font-ui)}.qopt[data-v-2af45fec]{min-height:44px;padding:var(--space-3);font-size:var(--text-base);border-radius:var(--radius-md)}.qopt-desc[data-v-2af45fec]{font-size:var(--text-xs)}.other-input[data-v-2af45fec]{flex-basis:100%;min-height:28px}.qfoot[data-v-2af45fec]{flex-direction:column}.qfoot-btn[data-v-2af45fec]{width:100%;min-height:46px}.qfoot-main[data-v-2af45fec]{order:-1}}.appr[data-v-458a9d7d]{margin:var(--space-2) 0}.appr.ui-card[data-v-458a9d7d]{border-color:var(--color-warning-bd)}.appr[data-v-458a9d7d] .ui-card__head{background:var(--color-warning-soft);border-bottom-color:var(--color-warning-bd)}.appr.minimized[data-v-458a9d7d] .ui-card__body{display:none}.appr.minimized[data-v-458a9d7d] .ui-card__head{border-bottom:none}.ah[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui);flex-wrap:nowrap}.ah-ic[data-v-458a9d7d]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-warning);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.akind[data-v-458a9d7d]{color:var(--color-warning);font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap;flex:none}.apath[data-v-458a9d7d]{color:var(--color-text);font:var(--text-sm) var(--font-mono);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-path[data-v-458a9d7d]{margin-bottom:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw[data-v-458a9d7d],.minimized .amin[data-v-458a9d7d]{margin-left:auto}.diff[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);overflow:hidden;font:var(--text-sm)/1.85 var(--font-mono)}.dl[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.dg[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none}.dc[data-v-458a9d7d]{white-space:pre;font:inherit}.del[data-v-458a9d7d]{background:var(--color-danger-soft)}.del .dc[data-v-458a9d7d]{color:var(--color-danger)}.add[data-v-458a9d7d]{background:var(--color-success-soft)}.add .dc[data-v-458a9d7d]{color:var(--color-success)}.shell-cmd[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);white-space:pre-wrap;word-break:break-all;max-height:160px;overflow-y:auto;color:var(--color-text)}.shell-dollar[data-v-458a9d7d]{color:var(--color-accent-hover);font-weight:var(--weight-medium);margin-right:var(--space-2)}.shell-cwd[data-v-458a9d7d]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-top:var(--space-1)}.shell-danger[data-v-458a9d7d]{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-danger-bd);border-radius:var(--radius-sm);color:var(--color-danger);font:var(--text-sm) var(--font-ui);background:var(--color-danger-soft)}.body-file[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.file-bar[data-v-458a9d7d]{padding:var(--space-1) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-line);font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.file-lang[data-v-458a9d7d]{letter-spacing:.04em}.file-content[data-v-458a9d7d]{padding:var(--space-2) 0;font:var(--text-sm)/1.7 var(--font-mono);background:var(--color-surface-sunken);max-height:240px;overflow-y:auto}.file-line[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.file-ln[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none;flex:none}.file-text[data-v-458a9d7d]{white-space:pre;font:inherit}.body-chip[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.chip-label[data-v-458a9d7d]{background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px var(--space-2);font:var(--weight-semibold) var(--text-xs) var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.chip-value[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);color:var(--color-text);word-break:break-all}.chip-detail[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted)}.todo-item[data-v-458a9d7d]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.todo-glyph[data-v-458a9d7d]{color:var(--color-accent);font-size:var(--text-sm);flex:none;width:14px}.todo-title[data-v-458a9d7d]{color:var(--color-text)}.todo-done[data-v-458a9d7d]{color:var(--color-text-muted);text-decoration:line-through}.body-generic[data-v-458a9d7d]{font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text);word-break:break-word}.body-plan[data-v-458a9d7d]{max-height:50vh;overflow-y:auto}.feedback-wrap[data-v-458a9d7d]{margin-top:var(--space-3)}.feedback-ta[data-v-458a9d7d]{width:100%;box-sizing:border-box;font:var(--text-sm) var(--font-ui);padding:var(--space-2) var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);resize:none;outline:none;color:var(--color-text);background:var(--color-surface-raised)}.feedback-ta[data-v-458a9d7d]:focus-visible{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.feedback-hint[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted);margin-top:var(--space-1)}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}.plan-actions[data-v-458a9d7d]{flex-wrap:wrap}.k[data-v-458a9d7d]{opacity:.75}@media(max-width:640px){.diff[data-v-458a9d7d],.file-content[data-v-458a9d7d]{overflow-x:auto;-webkit-overflow-scrolling:touch}.file-content[data-v-458a9d7d]{max-height:50vh}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{flex-direction:column}.kbtn[data-v-458a9d7d]{width:100%;min-height:46px}}.ui-seg[data-v-d1aaccd7]{display:inline-flex;gap:2px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.ui-seg__item[data-v-d1aaccd7]{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;line-height:1;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-seg--md .ui-seg__item[data-v-d1aaccd7]{padding:5px var(--space-3);font-size:var(--text-sm)}.ui-seg--sm .ui-seg__item[data-v-d1aaccd7]{height:24px;padding:0 var(--space-2);font-size:var(--text-sm)}.ui-seg__item[data-v-d1aaccd7]:hover:not(.is-on){color:var(--color-text)}.ui-seg__item.is-on[data-v-d1aaccd7]{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}.ui-seg__item[data-v-d1aaccd7]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.status-glyph[data-v-f595d935]{flex:none;width:16px;font-size:var(--text-base);line-height:1;text-align:center;user-select:none}.status-glyph.s-run[data-v-f595d935]{color:var(--color-accent);font-weight:500}.status-glyph.s-done[data-v-f595d935]{color:var(--color-success)}.status-glyph.s-fail[data-v-f595d935]{color:var(--color-danger)}.status-glyph.s-pending[data-v-f595d935]{color:var(--color-text-faint)}.taskspane[data-v-30ebee08]{padding:14px 18px 10px;flex:1;min-height:0;display:flex;flex-direction:column}.tp-head[data-v-30ebee08]{border-top:1px solid var(--line);padding-top:10px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.tp-title[data-v-30ebee08]{color:var(--color-accent-hover);font-weight:500;font-size:var(--text-base);text-transform:capitalize}.tp-count[data-v-30ebee08]{color:var(--muted);font-size:var(--text-base)}.tp-filter[data-v-30ebee08]{padding-bottom:8px}.tp-body[data-v-30ebee08]{flex:1;min-height:0;display:flex;gap:10px}.tp-list-col[data-v-30ebee08]{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-row[data-v-30ebee08]{padding:4px 0}.tp-row.done .tp-name[data-v-30ebee08],.tp-card.done .tp-card-name[data-v-30ebee08]{color:var(--muted);text-decoration:line-through}.tp-row.fail .tp-name[data-v-30ebee08],.tp-card.fail .tp-card-name[data-v-30ebee08]{color:var(--color-danger)}.tp-main[data-v-30ebee08]{display:flex;align-items:center;gap:7px;font-size:var(--text-base)}.tp-row.expandable>.tp-main[data-v-30ebee08]{cursor:pointer;border-radius:4px}.tp-row.expandable>.tp-main[data-v-30ebee08]:hover{background:var(--panel2)}.tp-row.selected>.tp-main[data-v-30ebee08]{background:var(--panel2)}.tp-chevron[data-v-30ebee08]{flex:none;color:var(--muted);transition:transform .12s}.tp-chevron.open[data-v-30ebee08]{transform:rotate(90deg)}.tp-name[data-v-30ebee08]{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-time[data-v-30ebee08]{flex:none;font-size:var(--text-base);color:var(--muted)}.tp-stop[data-v-30ebee08]{flex:none;background:none;border:1px solid color-mix(in srgb,var(--color-danger) 22%,var(--bg));border-radius:var(--radius-xs);color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 8px;cursor:pointer;font-family:var(--mono)}.tp-stop[data-v-30ebee08]:hover{background:var(--panel)}.tp-detail[data-v-30ebee08]{margin:4px 0 0 23px;display:flex;flex-direction:column;gap:4px}.tp-detail-col[data-v-30ebee08]{flex:0 0 44%;min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--line);padding-left:10px;display:flex;flex-direction:column;gap:6px}.tp-detail-head[data-v-30ebee08]{flex:none;padding-bottom:2px}.tp-detail-empty[data-v-30ebee08]{padding:18px 6px;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}.tp-codebox[data-v-30ebee08]{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs)}.tp-copy[data-v-30ebee08]{position:absolute;top:4px;right:6px;z-index:1;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--dim);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 7px;cursor:pointer;font-family:var(--sans)}.tp-codebox:hover .tp-copy[data-v-30ebee08],.tp-copy[data-v-30ebee08]:focus-visible{opacity:1;visibility:visible}.tp-copy[data-v-30ebee08]:hover{background:var(--panel)}.tp-copy.copied[data-v-30ebee08]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--line))}.tp-pre[data-v-30ebee08]{margin:0;padding:6px 10px;max-height:320px;overflow:auto;contain:layout paint}.tp-pre code[data-v-30ebee08]{display:block;font-family:var(--mono);font-size:var(--text-base);line-height:1.55;color:var(--dim);white-space:pre-wrap;word-break:break-word}.tp-cmd[data-v-30ebee08]{display:block;color:var(--muted)}.tp-line[data-v-30ebee08]{display:block}.tp-grid[data-v-30ebee08]{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-content:start}.tp-card[data-v-30ebee08]{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--sans);font-size:var(--text-base);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.tp-card[data-v-30ebee08]:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--color-accent-hover) 40%,var(--line))}.tp-card[data-v-30ebee08]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tp-card-line[data-v-30ebee08]{display:flex;align-items:center;gap:7px;min-width:0}.tp-card-name[data-v-30ebee08]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta[data-v-30ebee08]{justify-content:space-between}.tp-empty[data-v-30ebee08]{padding:24px 0;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}@media(max-width:640px){.taskspane[data-v-30ebee08]{padding:14px 14px 16px}.tp-body[data-v-30ebee08]{flex-direction:column;overflow-y:auto;gap:8px}.tp-list-col[data-v-30ebee08]{flex:none;overflow:visible}.tp-detail-col[data-v-30ebee08]{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px;overflow:visible}.tp-main[data-v-30ebee08]{flex-wrap:wrap;row-gap:4px}.tp-name[data-v-30ebee08]{font-size:var(--ui-font-size-sm)}.tp-stop[data-v-30ebee08]{min-height:32px;display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:var(--ui-font-size-xs)}.tp-detail[data-v-30ebee08]{margin-left:0}.tp-pre[data-v-30ebee08]{font-size:var(--ui-font-size-xs)}}.tp-stop[data-v-30ebee08]{border-radius:var(--radius-md);font-family:var(--sans)}.todo-card[data-v-4f8e45d2]{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base)}.tc-progress[data-v-4f8e45d2]{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-1) var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.tc-progress-ico[data-v-4f8e45d2]{color:var(--color-success)}.tc-row[data-v-4f8e45d2]{display:flex;align-items:center;gap:7px;padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-text)}.tc-name[data-v-4f8e45d2]{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}.tc-row.s-in_progress[data-v-4f8e45d2]{border-color:var(--color-accent-bd)}.tc-row.s-in_progress .tc-name[data-v-4f8e45d2]{font-weight:var(--weight-medium)}.tc-row.s-done .tc-name[data-v-4f8e45d2]{color:var(--color-text-faint);text-decoration:line-through}.tc-empty[data-v-4f8e45d2]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-faint);font-size:var(--text-sm)}.tc-empty-ico[data-v-4f8e45d2]{width:28px;height:28px;color:var(--color-line-strong)}@media(max-width:640px){.todo-card[data-v-4f8e45d2]{font-size:var(--text-lg)}}.terminal-panel[data-v-4d134005]{display:flex;flex-direction:column;height:300px;min-height:0}.term-state[data-v-4d134005]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.term-toolbar[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line)}.term-tabs[data-v-4d134005]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-1);overflow-x:auto}.term-tab[data-v-4d134005]{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 4px 0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);cursor:pointer}.term-tab[data-v-4d134005]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.term-tab.active[data-v-4d134005]{background:var(--color-accent-soft);color:var(--color-text)}.term-tab-label[data-v-4d134005]{font-weight:500}.term-add[data-v-4d134005]{flex:none}.term-add[data-v-4d134005] svg{width:var(--p-ic-sm);height:var(--p-ic-sm)}.term-error[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-danger);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-exit[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-warning);font-family:var(--font-mono);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-output[data-v-4d134005]{flex:1;min-height:0;margin:var(--space-2) 0;padding:var(--space-2);overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.term-input-row[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2)}.term-prompt[data-v-4d134005]{flex:none;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:var(--space-1) 0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]::placeholder{color:var(--color-text-faint)}.term-input[data-v-4d134005]:disabled{opacity:.5}.ui-empty[data-v-38e00944]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.ui-empty__icon[data-v-38e00944]{color:var(--color-text-faint)}.ui-empty__icon[data-v-38e00944] svg{width:48px;height:48px}.ui-empty__title[data-v-38e00944]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-empty__hint[data-v-38e00944]{font-size:var(--text-sm);color:var(--color-text-muted)}.goal-panel[data-v-d3a415b3]{min-width:260px;max-width:420px}.gp-head[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-2)}.gp-title-row[data-v-d3a415b3]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.gp-icon[data-v-d3a415b3]{flex:none;color:var(--color-success)}.gp-kicker[data-v-d3a415b3]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.gp-objective[data-v-d3a415b3]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.gp-status[data-v-d3a415b3]{flex:none}.gp-elapsed[data-v-d3a415b3]{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.gp-actions[data-v-d3a415b3]{flex:none;display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-1)}.gp-action[data-v-d3a415b3]{width:28px;height:28px}.gp-criterion[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-1);border-top:1px solid var(--color-line);padding-top:var(--space-2)}.gp-criterion-label[data-v-d3a415b3]{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.gp-criterion-text[data-v-d3a415b3]{margin:0;color:var(--color-text-muted);font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.plan-panel[data-v-9073f2b6]{min-width:300px;max-width:460px;display:flex;flex-direction:column;gap:var(--space-2)}.pp-loading[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-sm) var(--font-ui)}.pp-plan-wrap[data-v-9073f2b6]{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.pp-path[data-v-9073f2b6]{margin:0;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-plan[data-v-9073f2b6]{margin:0;max-height:300px;overflow-y:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:var(--text-sm)/var(--leading-normal) var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.pp-review[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.pp-state[data-v-9073f2b6]{font-weight:var(--weight-medium)}.pp-option[data-v-9073f2b6]{color:var(--color-accent)}.pp-feedback[data-v-9073f2b6]{color:var(--color-text-muted)}.chat-dock[data-v-bda6bf1b]{--dock-inline-left: 16px;--dock-inline-right: 16px;box-sizing:border-box;width:100%;max-width:calc(var(--read-max) + var(--panes-scrollbar-width, 0px));padding-right:var(--panes-scrollbar-width, 0px);flex:none;position:relative;background:var(--color-bg);z-index:var(--z-sticky)}.chat-dock.align-center[data-v-bda6bf1b]{margin-left:auto;margin-right:auto}.chat-dock.align-left[data-v-bda6bf1b]{margin-left:0;margin-right:auto}.chat-dock.align-mobile[data-v-bda6bf1b]{max-width:none}.dock-work-panel[data-v-bda6bf1b]{position:absolute;left:16px;right:calc(16px + var(--panes-scrollbar-width, 0px));bottom:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);margin-bottom:7px;max-height:min(360px,50vh);display:flex;flex-direction:column;overflow:hidden}.dock-work-head[data-v-bda6bf1b]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-line)}.dock-work-tab[data-v-bda6bf1b]{font-size:var(--text-base);font-weight:500;color:var(--color-text);padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.dock-work-tab.static[data-v-bda6bf1b]{background:transparent;border-color:transparent;padding-left:2px}.dock-work-body[data-v-bda6bf1b]{display:flex;flex-direction:column;padding:8px 10px;overflow-y:auto;min-height:0}.dock-work-body[data-v-bda6bf1b] .taskspane{border:none;background:transparent;padding:0}.dock-work-body[data-v-bda6bf1b] .taskspane .tp-head{display:none}.dock-workbar[data-v-bda6bf1b]{display:flex;align-items:center;gap:6px;padding:4px var(--dock-inline-right) 2px var(--dock-inline-left)}.dock-workbar .dw-count[data-v-bda6bf1b]{margin-left:1px}.dock-workbar .dw-count b[data-v-bda6bf1b]{font-weight:500}.dock-approval[data-v-bda6bf1b]{margin-top:8px}.chat-dock.has-approval[data-v-bda6bf1b]{max-height:calc(100dvh - 72px)}.chat-dock.has-approval>.dock-workbar[data-v-bda6bf1b]{flex:none}.chat-dock.has-approval>.dock-approval[data-v-bda6bf1b]{min-height:0}@media(max-width:640px){.chat-dock[data-v-bda6bf1b]{--dock-inline-left: max(12px, var(--safe-left));--dock-inline-right: max(12px, var(--safe-right))}.dock-work-panel[data-v-bda6bf1b]{left:10px;right:calc(10px + var(--panes-scrollbar-width, 0px))}}.chat-dock[data-v-bda6bf1b]:not(.align-mobile) .composer{padding-bottom:14px}.dock-panel-enter-active[data-v-bda6bf1b],.dock-panel-leave-active[data-v-bda6bf1b]{transition:opacity .16s ease,transform .16s ease}.dock-panel-enter-from[data-v-bda6bf1b],.dock-panel-leave-to[data-v-bda6bf1b]{opacity:0;transform:translateY(8px)}.ui-input[data-v-340f0da2]{width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-input--md[data-v-340f0da2]{height:38px}.ui-input--sm[data-v-340f0da2]{height:32px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-input[data-v-340f0da2]::placeholder{color:var(--color-text-faint)}.ui-input[data-v-340f0da2]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-input[data-v-340f0da2]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-input[data-v-340f0da2]:disabled{opacity:.5;cursor:not-allowed}.ui-input[readonly][data-v-340f0da2]{background:var(--color-surface-sunken)}.ui-input.has-error[data-v-340f0da2]{border-color:var(--color-danger)}.ui-input.has-error[data-v-340f0da2]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}.conv-search[data-v-c521ac2e]{flex:none;display:flex;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.conv-search-icon[data-v-c521ac2e]{flex:none;color:var(--color-text-muted)}.conv-search-input[data-v-c521ac2e]{flex:1;min-width:0}.conv-search-count[data-v-c521ac2e]{flex:none;min-width:56px;text-align:center;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.conv-search-none[data-v-c521ac2e]{color:var(--color-text-faint)}.conversation-toc[data-v-3f1c1f66]{position:absolute;z-index:var(--z-sticky);top:50%;transform:translateY(-50%);--toc-content-max: min( var(--p-content-max), calc(100cqi - var(--space-5) - var(--space-5)) );left:calc(50% + (var(--toc-content-max) / 2) + 14px);display:flex;flex-direction:column;justify-content:center;opacity:.5;transition:opacity var(--duration-base) var(--ease-out)}.conversation-toc[data-v-3f1c1f66]:before{content:"";position:absolute;inset:0 -48px 0 -14px;z-index:0}.conversation-toc[data-v-3f1c1f66]:hover,.conversation-toc[data-v-3f1c1f66]:focus-within{opacity:1}.toc-scroll[data-v-3f1c1f66]{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;padding:8px 0;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:none}.toc-scroll[data-v-3f1c1f66]::-webkit-scrollbar{display:none}.toc-row[data-v-3f1c1f66]{display:flex;align-items:center;gap:10px;height:18px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.toc-row[data-v-3f1c1f66]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.toc-bar[data-v-3f1c1f66]{flex:none;width:3px;height:14px;border-radius:var(--radius-full);background:var(--color-accent);opacity:.3;transition:opacity var(--duration-fast) var(--ease-out),height var(--duration-fast) var(--ease-out)}.toc-label[data-v-3f1c1f66]{display:block;max-width:0;overflow:hidden;opacity:0;text-overflow:ellipsis;transition:max-width .22s var(--ease-out),opacity var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.conversation-toc:hover .toc-bar[data-v-3f1c1f66],.conversation-toc:focus-within .toc-bar[data-v-3f1c1f66]{height:18px;opacity:.5}.conversation-toc:hover .toc-label[data-v-3f1c1f66],.conversation-toc:focus-within .toc-label[data-v-3f1c1f66]{max-width:220px;opacity:1}.toc-row.active .toc-bar[data-v-3f1c1f66]{opacity:1;height:18px}.toc-row.active .toc-label[data-v-3f1c1f66]{color:var(--color-accent);font-weight:var(--weight-medium)}.toc-row:hover .toc-bar[data-v-3f1c1f66]{opacity:1}.toc-row:hover .toc-label[data-v-3f1c1f66]{color:var(--color-text)}.conversation-toc.toc-clipped[data-v-3f1c1f66]{visibility:hidden;pointer-events:none}.con[data-v-fad3cc77]{--read-max: 760px;display:flex;flex-direction:column;min-width:0;height:100%;position:relative;container-type:inline-size}.panes[data-v-fad3cc77]{flex:1;min-height:0;overflow-y:auto;overflow-anchor:auto;scrollbar-gutter:stable}.panes.is-following[data-v-fad3cc77],.panes.history-prepending[data-v-fad3cc77]{overflow-anchor:none}.chat-layout[data-v-fad3cc77]{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-scroll[data-v-fad3cc77]{flex:1;min-height:0;position:relative}.content-wrap[data-v-fad3cc77]{width:100%;max-width:var(--read-max);min-height:100%;display:flex;flex-direction:column;flex-shrink:0}.content-wrap.align-center[data-v-fad3cc77]{margin-left:auto;margin-right:auto}.content-wrap.align-left[data-v-fad3cc77]{margin-left:0;margin-right:auto}.content-wrap.align-mobile[data-v-fad3cc77]{max-width:none}@media(max-width:640px){.con.mobile[data-v-fad3cc77]{min-width:0;overflow:hidden}.con.mobile .panes[data-v-fad3cc77]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.content-wrap.align-mobile[data-v-fad3cc77]{width:100%;min-width:0}}.empty-spacer[data-v-fad3cc77]{flex:1}.empty-hint[data-v-fad3cc77]{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:0 16px 16px;color:var(--color-text);font-family:var(--font-ui)}.empty-hint-title[data-v-fad3cc77]{font-size:calc(var(--ui-font-size) + 16px);font-optical-sizing:auto;font-weight:var(--weight-semibold)}.empty-hint-title.is-starting[data-v-fad3cc77]{display:inline-flex;align-items:center;gap:9px;color:var(--dim);font-weight:400}.empty-hint-text[data-v-fad3cc77]{display:inline-block;font-size:var(--text-base);color:var(--dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-add-workspace[data-v-fad3cc77]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--dim);font-family:var(--mono);font-size:var(--ui-font-size-sm);cursor:pointer}.empty-add-workspace[data-v-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.empty-add-workspace[data-v-fad3cc77]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty-add-workspace svg[data-v-fad3cc77]{flex:none}.ws-pick[data-v-fad3cc77]{position:relative;font-family:var(--font-ui)}.ws-pick-btn[data-v-fad3cc77]{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:min(100%,calc(100vw - var(--space-8)));padding:5px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--dim);font-family:inherit;font-size:var(--ui-font-size-sm);cursor:pointer}.ws-pick-btn[data-v-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.ws-pick-name[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-chev[data-v-fad3cc77]{flex:none;color:var(--muted);transition:transform .15s}.ws-pick-chev.open[data-v-fad3cc77]{transform:rotate(180deg)}.ws-pick-backdrop[data-v-fad3cc77]{position:fixed;inset:0;z-index:var(--z-sticky)}.ws-pick-menu[data-v-fad3cc77]{position:absolute;display:grid;grid-template-columns:minmax(0,1fr);left:50%;transform:translate(-50%);top:calc(100% + 6px);z-index:var(--z-dropdown);width:max-content;min-width:min(180px,calc(100cqw - var(--space-8)));max-width:calc(100cqw - var(--space-8));max-height:50vh;overflow:hidden auto;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:4px}.ws-pick-item[data-v-fad3cc77]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui)}.ws-pick-item[data-v-fad3cc77]:hover{background:var(--panel2)}.ws-pick-item.on[data-v-fad3cc77]{background:var(--color-accent-soft)}.ws-pick-item-name[data-v-fad3cc77]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.ws-pick-item.on .ws-pick-item-name[data-v-fad3cc77]{color:var(--color-accent-hover)}.ws-pick-item-path[data-v-fad3cc77]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.ws-pick-item.ws-pick-more[data-v-fad3cc77]{flex-direction:row;align-items:center;justify-content:flex-start;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-item.ws-pick-more[data-v-fad3cc77]:hover{color:var(--color-text)}.ws-pick-item.ws-pick-more span[data-v-fad3cc77],.ws-pick-action span[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-divider[data-v-fad3cc77]{height:1px;margin:4px 6px;background:var(--line)}.ws-pick-action[data-v-fad3cc77]{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-action[data-v-fad3cc77]:hover{background:var(--panel2);color:var(--color-text)}.ws-pick-action svg[data-v-fad3cc77]{flex:none}.chat-scroll[data-v-fad3cc77]{display:flex;flex-direction:column}.mobile .panes[data-v-fad3cc77]:has(>.chat-layout){overflow:hidden;scrollbar-gutter:auto}.newmsg-pill[data-v-fad3cc77]{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--color-text);font-size:var(--ui-font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);z-index:var(--z-base)}.newmsg-pill[data-v-fad3cc77]:hover{background:var(--panel2)}.pill-chevron[data-v-fad3cc77]{width:12px;height:12px}.pill-enter-active[data-v-fad3cc77],.pill-leave-active[data-v-fad3cc77]{transition:opacity .2s ease,transform .2s ease}.pill-enter-from[data-v-fad3cc77],.pill-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(8px)}.abort-toast[data-v-fad3cc77]{position:absolute;left:50%;top:60px;transform:translate(-50%);padding:8px 14px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--bg);font-size:var(--ui-font-size-sm);z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.abort-toast-text[data-v-fad3cc77]{display:flex;align-items:center;gap:8px}.abort-toast-enter-active[data-v-fad3cc77],.abort-toast-leave-active[data-v-fad3cc77]{transition:opacity .15s ease,transform .15s ease}.abort-toast-enter-from[data-v-fad3cc77],.abort-toast-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(-6px)}.con[data-v-fad3cc77]{background:var(--bg)}.newmsg-pill[data-v-fad3cc77]{font-family:var(--sans)}.ui-panel-header[data-v-c47879ad]{flex:none;display:flex;align-items:center;gap:var(--space-2);height:var(--panel-head-h, 48px);padding:0 6px 0 var(--space-3);box-sizing:border-box;min-width:0;border-bottom:1px solid var(--color-line);background:var(--color-surface)}.ui-panel-header__title[data-v-c47879ad]{flex:none;font:var(--weight-semibold) var(--text-xs) var(--font-mono);letter-spacing:.04em;color:var(--color-text)}.ui-panel-header__sub[data-v-c47879ad]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.ui-panel-header__close[data-v-c47879ad]{flex:none;margin-left:auto}.ui-panel-header.wrap[data-v-c47879ad]{flex-wrap:wrap;height:auto;min-height:var(--panel-head-h, 48px);padding-top:3px;padding-bottom:3px;gap:4px 6px}.ui-panel-header.wrap .ui-panel-header__close[data-v-c47879ad]{margin-left:0}.file-preview[data-v-ded222d2]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono);min-width:0;container-type:inline-size}.fp-empty[data-v-ded222d2],.fp-loading[data-v-ded222d2]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:var(--ui-font-size)}.fp-path[data-v-ded222d2]{flex:1 1 60px;min-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;font-size:var(--ui-font-size-xs);color:var(--muted);font-weight:400}.fp-meta[data-v-ded222d2]{display:flex;align-items:center;gap:8px;flex:none}@container (max-width: 539px){.fp-meta[data-v-ded222d2]{display:none}}.fp-lines[data-v-ded222d2],.fp-size[data-v-ded222d2]{font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--muted);white-space:nowrap}.fp-search[data-v-ded222d2]{display:flex;align-items:center;gap:4px;flex:1 1 110px;min-width:70px;max-width:200px}.fp-search-input[data-v-ded222d2]{flex:1;min-width:0;height:26px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px 7px;background:var(--color-surface-raised);color:var(--color-text);font:var(--text-xs) var(--font-mono)}.fp-search-count[data-v-ded222d2]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));min-width:18px;text-align:right}.fp-download[data-v-ded222d2]{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--radius-sm);color:var(--color-text-muted)}.fp-download[data-v-ded222d2]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.fp-download[data-v-ded222d2]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.fp-download svg[data-v-ded222d2]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.fp-check[data-v-ded222d2]{color:var(--color-success)}.fp-body[data-v-ded222d2]{--fp-search-hit-bg: color-mix(in srgb, var(--star) 22%, var(--bg));--fp-search-active-bg: color-mix(in srgb, var(--star) 36%, var(--bg));--fp-token-keyword: color-mix(in srgb, var(--color-accent) 68%, var(--color-danger));--fp-token-string: var(--color-success);--fp-token-literal: var(--color-accent-hover);--fp-token-tag: var(--color-warning);flex:1;min-height:0;overflow:auto}.fp-markdown[data-v-ded222d2]{padding:16px 20px}.fp-code[data-v-ded222d2]{background:var(--bg)}.fp-line-table[data-v-ded222d2]{display:table;width:100%;border-collapse:collapse;font-size:var(--ui-font-size);line-height:1.6}.fp-line-row[data-v-ded222d2]{display:table-row}.fp-line-row.hit .fp-line-text[data-v-ded222d2],.fp-table tr.hit td[data-v-ded222d2]{background:var(--fp-search-hit-bg)}.fp-line-row.active .fp-line-text[data-v-ded222d2],.fp-table tr.active td[data-v-ded222d2]{background:var(--fp-search-active-bg)}.fp-line-row.target .fp-gutter[data-v-ded222d2],.fp-line-row.target .fp-line-text[data-v-ded222d2],.fp-table tr.target th[data-v-ded222d2],.fp-table tr.target td[data-v-ded222d2]{background:var(--color-accent-soft)}.fp-gutter[data-v-ded222d2]{display:table-cell;width:44px;padding:0 10px 0 12px;text-align:right;color:var(--faint);user-select:none;font-size:var(--text-base);white-space:nowrap;border-right:1px solid var(--line2);vertical-align:top}.fp-line-text[data-v-ded222d2]{display:table-cell;padding:0 12px;color:var(--color-text);white-space:pre;vertical-align:top}.fp-line-text[data-v-ded222d2] .tok-key,.fp-line-text[data-v-ded222d2] .tok-keyword{color:var(--fp-token-keyword);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-string{color:var(--fp-token-string)}.fp-line-text[data-v-ded222d2] .tok-number,.fp-line-text[data-v-ded222d2] .tok-literal{color:var(--fp-token-literal)}.fp-line-text[data-v-ded222d2] .tok-comment{color:var(--muted);font-style:italic}.fp-line-text[data-v-ded222d2] .tok-tag{color:var(--fp-token-tag);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-attr{color:var(--fp-token-literal)}.fp-html-frame[data-v-ded222d2],.fp-pdf-frame[data-v-ded222d2]{width:100%;height:100%;border:0;background:var(--color-surface-raised)}.fp-pdf-wrap[data-v-ded222d2]{background:var(--panel2)}.fp-table-wrap[data-v-ded222d2]{background:var(--bg)}.fp-table[data-v-ded222d2]{border-collapse:collapse;min-width:100%;font:12px/1.5 var(--mono)}.fp-table th[data-v-ded222d2]{position:sticky;left:0;z-index:1;width:44px;min-width:44px;padding:2px 8px;text-align:right;color:var(--faint);background:var(--panel);border-right:1px solid var(--line2);user-select:none}.fp-table td[data-v-ded222d2]{padding:2px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:pre}.fp-image-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--panel2)}.fp-image[data-v-ded222d2]{max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:var(--media-alpha-canvas)}.fp-image.actual[data-v-ded222d2]{max-width:none;max-height:none}.fp-binary-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center}.fp-binary-card[data-v-ded222d2]{display:flex;align-items:center;gap:12px;padding:20px 24px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:var(--ui-font-size);margin:32px auto;max-width:480px}.fp-binary-icon[data-v-ded222d2]{color:var(--faint);flex:none}.fp-error[data-v-ded222d2]{flex-direction:column;padding:24px;text-align:center}@keyframes spin-ded222d2{to{transform:rotate(360deg)}}.spinner[data-v-ded222d2]{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--color-accent);border-radius:50%;animation:spin-ded222d2 .7s linear infinite}@media(max-width:640px){.fp-lines[data-v-ded222d2]{display:none}.fp-markdown[data-v-ded222d2]{padding:14px 16px}.fp-body.fp-code[data-v-ded222d2]{-webkit-overflow-scrolling:touch}}.fp-empty[data-v-ded222d2],.fp-loading[data-v-ded222d2]{font-family:var(--sans)}.fp-binary-card[data-v-ded222d2]{border:1px solid var(--color-line);border-radius:var(--radius-md)}.fp-binary-label[data-v-ded222d2]{font-family:var(--sans)}.fp-image[data-v-ded222d2]{border-radius:var(--radius-md)}.seg-btn[data-v-ded222d2]{font-family:var(--sans)}.tp[data-v-98c343f3]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.tp-body[data-v-98c343f3]{flex:1;min-height:0;overflow-y:auto;margin:0;padding:12px 14px;font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.ap[data-v-59df0789]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.ap-phase[data-v-59df0789]{flex:none}.ap-body[data-v-59df0789]{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.ap-type[data-v-59df0789]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:8px}.ap-reason[data-v-59df0789]{color:var(--color-warning);margin-bottom:8px}.ap-field+.ap-field[data-v-59df0789]{margin-top:12px}.ap-field-label[data-v-59df0789]{display:block;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ap-field-body[data-v-59df0789]{white-space:pre-wrap;overflow-wrap:anywhere}.ap-progress[data-v-59df0789]{display:flex;flex-direction:column;gap:6px;font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);min-width:0}.ap-live[data-v-59df0789]{font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere}.ap-group[data-v-59df0789]{min-width:0}.ap-call[data-v-59df0789]{display:flex;align-items:baseline;gap:6px;min-width:0;font-weight:var(--weight-medium);color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}.ap-glyph[data-v-59df0789]{flex:none;color:var(--color-accent);font-size:.85em}.ap-output[data-v-59df0789]{margin:2px 0 0 16px;padding-left:8px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);border-left:2px solid var(--color-line);min-width:0}.ap-out-line[data-v-59df0789]{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.ap-fold[data-v-59df0789]{display:inline-block;margin:2px 0;padding:0;background:none;border:none;color:var(--color-accent);font:inherit;cursor:pointer}.ap-fold[data-v-59df0789]:hover{text-decoration:underline}.ap-fold[data-v-59df0789]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.diff-lines[data-v-26e24204]{padding:4px 0 12px;font-size:var(--ui-font-size);line-height:1.5;-webkit-overflow-scrolling:touch;width:max-content;min-width:100%}.dl[data-v-26e24204]{display:flex;align-items:flex-start;min-height:18px;white-space:pre;width:100%}.dl-gutter[data-v-26e24204]{flex:none;width:40px;padding:0 6px;text-align:right;color:var(--faint, #aeb4bc);background:var(--panel, #fafbfc);user-select:none;border-right:1px solid var(--line2, #eef1f4);font-variant-numeric:tabular-nums}.dl-gutter.new[data-v-26e24204]{border-right:1px solid var(--line, #e7eaee)}.dl-sign[data-v-26e24204]{flex:none;width:16px;text-align:center;color:var(--muted);user-select:none}.dl-text[data-v-26e24204]{flex:none;padding-right:14px;white-space:pre;color:var(--color-text)}.dl-add[data-v-26e24204]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.dl-add .dl-sign[data-v-26e24204]{color:var(--color-success)}.dl-del[data-v-26e24204]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.dl-del .dl-sign[data-v-26e24204]{color:var(--color-danger)}.diff-lines[data-theme] .dl-add[data-v-26e24204]{background:var(--dl-add-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-add) 55%,transparent)}.diff-lines[data-theme] .dl-add .dl-sign[data-v-26e24204]{color:var(--dl-add)}.diff-lines[data-theme] .dl-del[data-v-26e24204]{background:var(--dl-del-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-del) 55%,transparent)}.diff-lines[data-theme] .dl-del .dl-sign[data-v-26e24204]{color:var(--dl-del)}.dl-hunk[data-v-26e24204]{background:var(--panel2, #f3f5f8)}.dl-hunk .hunk-text[data-v-26e24204]{flex:1;padding:1px 12px;color:var(--muted, #8b929b);font-style:normal}@media(max-width:640px){.diff-lines[data-v-26e24204]{overflow-x:auto;font-size:var(--ui-font-size)}}.tdp[data-v-76f2fbca]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.tdp-body[data-v-76f2fbca]{flex:1;min-height:0;overflow:auto;font-family:var(--mono)}.tdp-output[data-v-76f2fbca]{padding:8px 12px;color:var(--dim);font-size:var(--text-base);line-height:1.7;white-space:pre-wrap;word-break:break-word}.tdp-empty[data-v-76f2fbca]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.sc[data-v-867ab366]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.sc-body[data-v-867ab366]{flex:1;min-height:0;overflow-y:auto}.sc-empty[data-v-867ab366]{padding:24px 16px;text-align:center;color:var(--muted);font-size:var(--ui-font-size)}.sc-composer[data-v-867ab366]{flex:none;display:flex;align-items:flex-end;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.sc-input[data-v-867ab366]{flex:1;min-width:0;resize:none;border:1px solid var(--line);border-radius:var(--radius-md);padding:7px 9px;background:var(--bg);color:var(--color-text);font:var(--ui-font-size)/1.5 var(--sans);outline:none;max-height:160px}.sc-input[data-v-867ab366]:focus{border-color:var(--color-accent-bd)}.sc-send[data-v-867ab366]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer}.sc-send[data-v-867ab366]:disabled{opacity:.4;cursor:default}.sc-send[data-v-867ab366]:not(:disabled):hover{background:var(--color-accent-hover)}.sc-loading[data-v-867ab366]{flex:none;padding:8px 12px 12px}.sc-body[data-v-867ab366] .sending-placeholder,.sc-body[data-v-867ab366] .sending-line{display:none}.changes-pane[data-v-6591e558]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono)}.dv-path[data-v-6591e558],.dv-change-count[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--muted)}.dv-change-count[data-v-6591e558]{flex:1}.ch-head[data-v-6591e558]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--panel);font-size:var(--text-base);color:var(--dim);flex:none;white-space:nowrap;overflow:hidden}.br-label[data-v-6591e558]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px))}.br-name[data-v-6591e558]{color:var(--color-accent);font-weight:500;font-size:var(--ui-font-size)}.sync-info[data-v-6591e558]{display:flex;align-items:center;gap:4px}.ahead[data-v-6591e558]{color:var(--color-accent);font-size:var(--text-base)}.behind[data-v-6591e558]{color:var(--color-warning);font-size:var(--text-base)}.empty-head[data-v-6591e558]{color:var(--muted);font-size:var(--text-base)}.ch-list[data-v-6591e558]{flex:1;overflow-y:auto;padding:4px 0}.ch-row[data-v-6591e558]{display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer;font-size:var(--ui-font-size);line-height:1.6;width:100%;background:none;border:none;text-align:left;font-family:inherit;color:inherit}.ch-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.ch-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.ch-tree[data-v-6591e558]{padding:4px 0}.tree-list[data-v-6591e558]{list-style:none;margin:0;padding:0}.tree-row[data-v-6591e558]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 16px;background:none;border:none;text-align:left;font-family:inherit;font-size:var(--ui-font-size);color:inherit;cursor:pointer}.tree-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.tree-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tree-folder[data-v-6591e558]{color:var(--color-text);font-weight:500}.tree-file[data-v-6591e558]{color:var(--color-text)}.tree-icon[data-v-6591e558]{flex:none;color:var(--muted)}.tree-name[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-6591e558]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-xs);font-size:max(9px,calc(var(--ui-font-size) - 4px));font-weight:500;flex:none;user-select:none}.badge.modified[data-v-6591e558]{background:color-mix(in srgb,var(--color-accent) 12%,var(--bg));color:var(--color-accent)}.badge.added[data-v-6591e558]{background:color-mix(in srgb,var(--color-success) 10%,var(--bg));color:var(--color-success)}.badge.deleted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger)}.badge.renamed[data-v-6591e558]{background:color-mix(in srgb,var(--color-warning) 12%,var(--bg));color:var(--color-warning)}.badge.untracked[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.badge.conflicted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 5px))}.badge.ignored[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--faint, #c0c5cc)}.badge.clean[data-v-6591e558]{background:transparent;color:var(--faint, #c0c5cc)}.badge.unknown[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.fpath[data-v-6591e558]{color:var(--color-text);font-size:var(--ui-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left;min-width:0}.empty-state[data-v-6591e558]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.diff-head[data-v-6591e558]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--panel);flex:none;white-space:nowrap;overflow:hidden}.dv-cb-label[data-v-6591e558]{color:var(--muted);font-size:var(--ui-font-size-xs);font-family:var(--sans);white-space:nowrap}.dv-cb-toggle[data-v-6591e558]{margin-left:auto}.dv-lines-wrap[data-v-6591e558]{flex:1;min-height:0;overflow:auto}@media(max-width:640px){.ch-head[data-v-6591e558]{padding:10px 14px}.ch-list[data-v-6591e558]{padding:2px 0 12px}.ch-row[data-v-6591e558]{min-height:44px;padding:8px 14px;gap:12px;font-size:var(--ui-font-size-sm)}.ch-row[data-v-6591e558]:active{background:var(--panel2, #f5f6f8)}.badge[data-v-6591e558]{width:18px;height:18px}.fpath[data-v-6591e558]{font-size:var(--ui-font-size-sm)}.tree-row[data-v-6591e558]{min-height:40px;padding:8px 14px}.diff-head[data-v-6591e558]{padding:8px 12px;gap:10px}.dv-cb-label[data-v-6591e558]{display:none}.diff-path[data-v-6591e558]{font-size:var(--text-base)}}.changes-pane .empty-state[data-v-6591e558],.br-label[data-v-6591e558],.empty-head[data-v-6591e558]{font-family:var(--sans)}.ch-row[data-v-6591e558],.ct-row[data-v-6591e558]{margin:1px 6px;width:calc(100% - 12px);border-radius:var(--radius-md)}.changes-pane .badge[data-v-6591e558],.changed-tree .badge[data-v-6591e558]{border-radius:var(--radius-sm)}.change-count[data-v-6591e558]{font-family:var(--sans);border-radius:999px}.mp[data-v-56cefe51]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-56cefe51]{padding-bottom:var(--space-1)}.tab-strip[data-v-56cefe51]{display:flex;gap:var(--space-1);overflow-x:auto}.model-list[data-v-56cefe51]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-56cefe51]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);min-width:0;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.model-row[data-v-56cefe51]:hover,.model-row.is-selected[data-v-56cefe51]{background:var(--color-surface-sunken)}.model-row.is-current[data-v-56cefe51]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-56cefe51]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center}.model-main[data-v-56cefe51]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-56cefe51]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-id[data-v-56cefe51]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-provider[data-v-56cefe51]{flex:none;max-width:110px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ctx[data-v-56cefe51]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.caps[data-v-56cefe51]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-56cefe51]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-56cefe51]{color:var(--color-warning)}.empty[data-v-56cefe51]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.footer-hint[data-v-56cefe51]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.model-provider[data-v-56cefe51],.caps[data-v-56cefe51]{display:none}}.ui-field[data-v-49bce958]{display:flex;flex-direction:column;gap:6px}.ui-field__label[data-v-49bce958]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-field__hint[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-text-faint)}.ui-field__error[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-danger)}.ui-select[data-v-92a040fd]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background-color:var(--color-surface-raised);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px 16px;box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);padding-right:calc(var(--space-3) + 16px + var(--space-2));cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-select--md[data-v-92a040fd]{height:38px}.ui-select--sm[data-v-92a040fd]{height:32px;font-size:var(--text-sm)}.ui-select[data-v-92a040fd]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-select[data-v-92a040fd]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-select[data-v-92a040fd]:disabled{opacity:.5;cursor:not-allowed}.ui-select.has-error[data-v-92a040fd]{border-color:var(--color-danger)}.ui-select.has-error[data-v-92a040fd]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}html[data-color-scheme=dark] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){html[data-color-scheme=system] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}}.pm[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-4)}.prov-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-1)}.state-row[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-b1859ac1]{color:var(--color-warning)}.empty[data-v-b1859ac1]{padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.prov-row[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);transition:background var(--duration-fast) var(--ease-out)}.prov-row[data-v-b1859ac1]:last-child{border-bottom:none}.status-dot[data-v-b1859ac1]{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box}.status-dot--empty[data-v-b1859ac1]{background:transparent;border:1.5px solid var(--color-text-faint)}.prov-info[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.prov-type[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.prov-url[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-meta[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.prov-actions[data-v-b1859ac1]{display:flex;gap:var(--space-2);flex:none;align-items:center;flex-wrap:wrap}.add-section[data-v-b1859ac1]{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.add-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.add-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.form-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.import-head[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2)}.import-title[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.import-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.catalog-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.catalog-row[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;min-width:0;transition:background var(--duration-fast) var(--ease-out)}.catalog-row[data-v-b1859ac1]:hover,.catalog-row.is-selected[data-v-b1859ac1]{background:var(--color-surface-sunken)}.catalog-row.is-rejected[data-v-b1859ac1]{opacity:.55;cursor:not-allowed}.catalog-check[data-v-b1859ac1]{width:14px;height:14px;flex:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.catalog-main[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-name[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-id[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-wire[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.catalog-meta[data-v-b1859ac1]{flex:none;display:flex;align-items:center;gap:var(--space-2);max-width:40%}.catalog-count[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.catalog-selected[data-v-b1859ac1]{padding-top:var(--space-1)}.footer-hint[data-v-b1859ac1]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.prov-row[data-v-b1859ac1]{align-items:flex-start;flex-wrap:wrap}.prov-actions[data-v-b1859ac1]{flex:1 1 100%;justify-content:flex-end}}.center-body[data-v-8308a28f]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0 var(--space-4);text-align:center}.center-text[data-v-8308a28f]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.success-text[data-v-8308a28f]{color:var(--color-success)}.err-text[data-v-8308a28f]{color:var(--color-danger)}.warn-text[data-v-8308a28f]{color:var(--color-warning);font-size:var(--text-base)}.center-hint[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted)}.nb[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}.nb-lead[data-v-8308a28f]{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}.nb-primary[data-v-8308a28f]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nb-primary[data-v-8308a28f]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.nb-or[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em}.nb-or[data-v-8308a28f]:before,.nb-or[data-v-8308a28f]:after{content:"";flex:1;height:1px;background:var(--color-line)}.nb-fallback[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-2)}.nb-fb-text[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.nb-fb-link[data-v-8308a28f]{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-bd)}.nb-fb-link[data-v-8308a28f]:hover{border-bottom-color:var(--color-accent)}.nb-code-row[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.nb-code[data-v-8308a28f]{flex:1;font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-text);letter-spacing:.14em}.nb-copy.is-copied[data-v-8308a28f]{color:var(--color-success);border-color:var(--color-success-bd)}.nb-status[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.nb-status-text[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.nb-countdown[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.actions[data-v-8308a28f]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.center-body[data-v-8308a28f],.nb[data-v-8308a28f]{overflow-y:auto;-webkit-overflow-scrolling:touch}.nb-code-row[data-v-8308a28f],.nb-status[data-v-8308a28f],.actions[data-v-8308a28f]{flex-wrap:wrap}.nb-code[data-v-8308a28f]{min-width:0;overflow-wrap:anywhere;letter-spacing:.08em}.nb-copy[data-v-8308a28f]{min-height:34px}.nb-primary[data-v-8308a28f]{min-height:44px}.nb-status-text[data-v-8308a28f]{min-width:0}}.media-lightbox[data-v-0ff39638]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;outline:none}.ml-backdrop[data-v-0ff39638]{position:absolute;inset:0;background:#0d1117cc}.ml-close[data-v-0ff39638]{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md)}.ml-close[data-v-0ff39638]:hover{background:var(--color-surface-sunken)}.ml-loading[data-v-0ff39638]{position:relative;z-index:1}.ml-viewport[data-v-0ff39638]{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.ml-viewport[data-v-0ff39638]:active{cursor:grabbing}.ml-image[data-v-0ff39638]{max-width:92%;max-height:92%;object-fit:contain;user-select:none;transform-origin:center center;transition:transform .08s ease-out}.ml-zoom-hint[data-v-0ff39638]{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--text-xs);box-shadow:var(--shadow-sm);pointer-events:none}.ml-video[data-v-0ff39638]{position:relative;z-index:1;max-width:94%;max-height:94%;border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.ml-error[data-v-0ff39638]{position:relative;z-index:1;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text-muted)}.ml-toolbar[data-v-0ff39638]{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.ml-btn[data-v-0ff39638]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text);cursor:pointer}.ml-btn[data-v-0ff39638]:hover:not(:disabled){background:var(--color-surface-sunken)}.ml-btn[data-v-0ff39638]:disabled{opacity:.4;cursor:default}.ml-zoom-label[data-v-0ff39638]{min-width:48px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.ui-link[data-v-645e7d4e]{color:var(--color-accent);text-decoration:none;cursor:pointer;font:inherit;transition:color var(--duration-base) var(--ease-out)}.ui-link[data-v-645e7d4e]:hover{color:var(--color-accent-hover);text-decoration:underline}.ui-link[data-v-645e7d4e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.ui-link--muted[data-v-645e7d4e]{color:var(--color-text-muted)}.ui-link--muted[data-v-645e7d4e]:hover{color:var(--color-text)}.ui-switch[data-v-e5aecc8e]{position:relative;width:36px;height:20px;flex:none;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-line-strong);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.ui-switch.is-on[data-v-e5aecc8e]{background:var(--color-accent)}.ui-switch[data-v-e5aecc8e]:disabled{opacity:.5;cursor:not-allowed}.ui-switch[data-v-e5aecc8e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-switch__thumb[data-v-e5aecc8e]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--surface-light);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}.ui-switch.is-on .ui-switch__thumb[data-v-e5aecc8e]{background:var(--color-text-on-accent);transform:translate(16px)}.ps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-4)}.ext-hint[data-v-8c64da0f] .ui-banner__text{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ext-hint-title[data-v-8c64da0f]{color:var(--color-text);font-weight:var(--weight-medium)}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:auto}.action-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-sec[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-3)}.plug-sec-head[data-v-8c64da0f]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.plug-title[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.plug-state[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-state.is-error[data-v-8c64da0f]{color:var(--color-danger)}.plug-list[data-v-8c64da0f]{display:flex;flex-direction:column;border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.plug-row[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.plug-row[data-v-8c64da0f]:first-child{border-top:none}.plug-row[data-v-8c64da0f]:hover{background:var(--color-surface-sunken)}.plug-info[data-v-8c64da0f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.plug-name[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.plug-display[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plug-version[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.plug-counts[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.plug-desc[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.plug-home[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs)}.plug-actions[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex:none}.cap-progress[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);max-width:420px}.cap-progress-text[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.cap-progress-track[data-v-8c64da0f]{display:block;height:4px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.cap-progress-fill[data-v-8c64da0f]{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-accent);transition:width var(--duration-base) var(--ease-out)}.cap-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-danger)}.cap-steps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.cap-step[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.cap-step-ok[data-v-8c64da0f]{color:var(--color-success);flex:none}.cap-step-bad[data-v-8c64da0f]{color:var(--color-danger);flex:none}.cap-step-missing[data-v-8c64da0f]{width:14px;height:14px;flex:none;border-radius:50%;border:1.5px solid var(--color-text-faint);box-sizing:border-box}.cap-step-label[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.plug-row[data-v-8c64da0f]{align-items:flex-start;flex-wrap:wrap}.plug-actions[data-v-8c64da0f]{flex:1 1 100%;justify-content:flex-end}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:0}}.sd[data-v-ace56012]{display:flex;flex-direction:row;min-height:0;height:100%}.settings-tabs[data-v-ace56012]{display:flex;flex-direction:column;flex:none;width:148px;padding:var(--space-2);gap:2px;overflow-y:auto}.tab[data-v-ace56012]{text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tab[data-v-ace56012]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tab.on[data-v-ace56012]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-medium)}.tab[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.body[data-v-ace56012]{display:flex;flex-direction:column;overflow-y:auto;padding:var(--space-2) var(--space-5) var(--space-5) var(--space-6);flex:1;min-width:0}.panel[data-v-ace56012]{display:block}.sec[data-v-ace56012]{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.sec[data-v-ace56012]:last-child{border-bottom:none}.sec-head[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sec-title[data-v-ace56012]{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.sec-head .sec-title[data-v-ace56012]{margin-bottom:0}.saving[data-v-ace56012]{flex:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.row[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:38px;padding:var(--space-1) 0}.rlabel[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-1)}.rvalue[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rvalue.mono[data-v-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs)}.hint[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint)}.num-field[data-v-ace56012]{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:0 var(--space-3);height:38px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.num-field[data-v-ace56012]:hover{border-color:var(--color-line-strong)}.num-field[data-v-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.num-input[data-v-ace56012]{width:48px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-base);text-align:right}.num-unit[data-v-ace56012]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.select-wrap[data-v-ace56012]{min-width:220px;max-width:min(320px,50vw);flex:none}.empty-config[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-1) 0}.plugins-panel[data-v-ace56012]{padding-top:var(--space-4)}.actions[data-v-ace56012]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:640px){.sd[data-v-ace56012]{flex-direction:column}.settings-tabs[data-v-ace56012]{flex-direction:row;width:auto;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-x:auto}.tab[data-v-ace56012]{white-space:nowrap;flex:none}.row[data-v-ace56012]{align-items:flex-start;flex-direction:column}.select-wrap[data-v-ace56012]{width:100%;max-width:none}}.setting-card[data-v-ace56012]{border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.panel-head[data-v-ace56012]{margin-bottom:var(--space-4)}.panel-kicker[data-v-ace56012]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-1)}.panel-title[data-v-ace56012]{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text)}.panel-desc[data-v-ace56012]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:560px}.archive-toolbar[data-v-ace56012]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.archive-search[data-v-ace56012]{flex:1;min-width:200px;height:36px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line);color:var(--color-text-faint);font-size:var(--text-sm);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.archive-search[data-v-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.archive-search svg[data-v-ace56012]{width:15px;height:15px;flex:none}.archive-search input[data-v-ace56012]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.archive-list[data-v-ace56012]{display:flex;flex-direction:column;gap:var(--space-4)}.archive-card .setting-card[data-v-ace56012]{margin-bottom:0}.archive-workspace[data-v-ace56012]{display:flex;align-items:center;gap:var(--space-2);margin:0 2px var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.archive-workspace svg[data-v-ace56012]{width:16px;height:16px;color:var(--color-text-faint);flex:none}.archive-workspace .path[data-v-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-workspace .count[data-v-ace56012]{margin-left:auto;color:var(--color-text-faint);font-weight:var(--weight-regular);font-size:var(--text-xs);flex:none}.archive-row[data-v-ace56012]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.archive-row[data-v-ace56012]:first-child{border-top:none}.archive-row[data-v-ace56012]:hover{background:var(--color-surface-sunken)}.archive-meta[data-v-ace56012]{min-width:0}.archive-name[data-v-ace56012]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-time[data-v-ace56012]{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono)}.archive-draining[data-v-ace56012]{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-hover);font-size:var(--text-sm)}.archive-empty[data-v-ace56012]{padding:var(--space-6) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:var(--text-sm);text-align:center;background:var(--color-bg)}.archive-load-more[data-v-ace56012]{align-self:center;margin-top:var(--space-2);padding:6px 18px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.archive-load-more[data-v-ace56012]:hover:not(:disabled){border-color:var(--color-line-strong);color:var(--color-text)}.archive-load-more[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.archive-load-more[data-v-ace56012]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.archive-toolbar[data-v-ace56012]{flex-direction:column;align-items:stretch}.archive-search[data-v-ace56012]{min-width:0}}[data-v-ace56012] .ui-dialog{width:min(980px,96vw)}[data-v-ace56012] .ui-dialog--fixed-height{height:min(780px,calc(100vh - var(--space-8) * 2))}.aw[data-v-a2c2e0eb]{margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-bottom:calc(-1 * var(--space-4))}.crumbbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.crumbs[data-v-a2c2e0eb]{display:flex;align-items:center;flex-wrap:wrap;gap:1px;min-width:0;font-size:var(--text-sm)}.crumb-sep[data-v-a2c2e0eb]{color:var(--color-text-muted)}.crumb[data-v-a2c2e0eb]{background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);padding:1px var(--space-1);border-radius:var(--radius-xs)}.crumb[data-v-a2c2e0eb]:hover{color:var(--color-accent);background:var(--color-surface-sunken)}.crumb.last[data-v-a2c2e0eb]{color:var(--color-text);font-weight:var(--weight-medium)}.filterbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.filter-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.filter-input[data-v-a2c2e0eb]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-base);padding:var(--space-1) 0;border:none;background:none;color:var(--color-text);outline:none}.filter-input[data-v-a2c2e0eb]::placeholder{color:var(--color-text-muted)}.search-rel[data-v-a2c2e0eb]{color:var(--color-text)}.filterbar.has-error[data-v-a2c2e0eb]{border-bottom-color:var(--color-danger)}.filterbar.has-error .filter-icon[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-list[data-v-a2c2e0eb]{height:300px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.fl-loading[data-v-a2c2e0eb],.fl-empty[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.fl-note[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.fl-error[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-row[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);text-align:left;padding:var(--space-1) var(--space-4);border-radius:var(--radius-md)}.folder-row[data-v-a2c2e0eb]:hover{background:var(--color-surface-sunken)}.dir-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.folder-row:hover .dir-icon[data-v-a2c2e0eb]{color:var(--color-accent)}.folder-name[data-v-a2c2e0eb]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.degraded-hint[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.add-error[data-v-a2c2e0eb]{margin:0 14px 8px;padding:6px 10px;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--color-danger);background:#b3261e14;border:1px solid rgba(179,38,30,.25);border-radius:var(--radius-xs)}.actions[data-v-a2c2e0eb]{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.footer-hint[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-line)}@media(max-width:640px){.folder-row[data-v-a2c2e0eb]{min-height:44px}.crumbbar[data-v-a2c2e0eb]{align-items:flex-start}.actions[data-v-a2c2e0eb]{flex-wrap:wrap}}.confirm-dialog__message[data-v-2e719024]{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.rows[data-v-5ba9ba29]{margin:0;padding:0}.row[data-v-5ba9ba29]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-base)}.row dt[data-v-5ba9ba29]{width:96px;flex:none;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.row dd[data-v-5ba9ba29]{margin:0;color:var(--color-text);font-weight:var(--weight-medium);display:flex;align-items:center;gap:var(--space-2);min-width:0}.row dd.plan-on[data-v-5ba9ba29],.row dd.swarm-on[data-v-5ba9ba29],.row dd.supermoon-on[data-v-5ba9ba29]{color:var(--color-accent)}.ctx-text[data-v-5ba9ba29]{flex:none}.bar[data-v-5ba9ba29]{width:80px;height:5px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.bar i[data-v-5ba9ba29]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.rows[data-v-5ba9ba29]{overflow-y:auto;-webkit-overflow-scrolling:touch}.row[data-v-5ba9ba29]{align-items:flex-start;flex-direction:column;gap:var(--space-1);min-height:48px}.row dt[data-v-5ba9ba29]{width:auto}.row dd[data-v-5ba9ba29]{max-width:100%;flex-wrap:wrap}}.ui-toast[data-v-adc6f346]{display:flex;align-items:flex-start;gap:11px;width:360px;max-width:100%;padding:13px 14px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-ui);line-height:1.45}.ui-toast__icon[data-v-adc6f346]{flex:none;width:20px;height:20px;margin-top:1px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-accent-soft);color:var(--color-accent)}.ui-toast__icon svg[data-v-adc6f346]{width:12px;height:12px}.ui-toast--success .ui-toast__icon[data-v-adc6f346]{background:var(--color-success-soft);color:var(--color-success)}.ui-toast--warning .ui-toast__icon[data-v-adc6f346]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-toast--danger .ui-toast__icon[data-v-adc6f346]{background:var(--color-danger-soft);color:var(--color-danger)}.ui-toast--danger[data-v-adc6f346]{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.ui-toast__body[data-v-adc6f346]{flex:1;min-width:0}.ui-toast__title[data-v-adc6f346]{font-size:var(--text-base);font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.ui-toast__msg[data-v-adc6f346]{margin-top:2px;font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.ui-toast--danger .ui-toast__msg[data-v-adc6f346]{color:var(--color-danger)}.ui-toast__close[data-v-adc6f346]{flex:none;margin:-3px -4px 0 0}.toasts[data-v-c92be17a]{position:fixed;right:16px;bottom:84px;display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);width:min(440px,calc(100vw - 32px));max-height:56vh;overflow-y:auto}.toast-enter-active[data-v-c92be17a],.toast-leave-active[data-v-c92be17a]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.toast-enter-from[data-v-c92be17a],.toast-leave-to[data-v-c92be17a]{opacity:0;transform:translate(16px)}.toast-move[data-v-c92be17a]{transition:transform var(--duration-base) var(--ease-out)}.actions[data-v-c92be17a]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.link[data-v-c92be17a]{border:0;padding:0;background:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--ui-font-size-xs)}.link[data-v-c92be17a]:hover{text-decoration:underline}.details[data-v-c92be17a]{display:grid;gap:5px;margin:8px 0 0;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.detail-row[data-v-c92be17a]{display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);gap:8px}.detail-row dt[data-v-c92be17a]{color:var(--color-text-muted)}.detail-row dd[data-v-c92be17a]{margin:0;color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:640px){.toasts[data-v-c92be17a]{left:12px;right:12px;bottom:calc(var(--dock-h, 76px) + 8px);width:auto;max-height:50vh}.detail-row[data-v-c92be17a]{grid-template-columns:1fr;gap:2px}}.topbar[data-v-6b4b901f]{display:flex;align-items:center;gap:10px;height:calc(50px + var(--safe-top));flex:none;padding:var(--safe-top) max(12px,var(--safe-right)) 0 max(12px,var(--safe-left));border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.wsq[data-v-6b4b901f]{flex:none;width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--ui-font-size-sm)}.tb-mid[data-v-6b4b901f]{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.tb-path[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .ws[data-v-6b4b901f]{color:var(--color-text)}.tb-path .sl[data-v-6b4b901f]{color:var(--color-text-faint)}.tb-path .se[data-v-6b4b901f]{color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .cv[data-v-6b4b901f]{color:var(--color-text-faint);flex:none}.tb-sub[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-sub .rd[data-v-6b4b901f]{flex:none;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-faint)}.tb-sub .rd.on[data-v-6b4b901f]{background:var(--color-success)}.topbar .tb-path[data-v-6b4b901f]{font-family:var(--sans)}.sheet-root[data-v-745ee5a2]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;flex-direction:column;justify-content:flex-end}.sheet-scrim[data-v-745ee5a2]{position:absolute;inset:0;background:#0d111773}.sheet-panel[data-v-745ee5a2]{position:relative;background:var(--color-surface-raised);border:1px solid var(--color-line);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);max-height:86vh;display:flex;flex-direction:column;min-height:0;font-family:var(--font-ui);color:var(--color-text)}.sheet-grab[data-v-745ee5a2]{flex:none;align-self:center;width:56px;height:18px;padding:0;border:none;background:none;cursor:pointer;position:relative;margin-top:4px}.sheet-grab[data-v-745ee5a2]:after{content:"";position:absolute;left:50%;top:7px;transform:translate(-50%);width:38px;height:5px;border-radius:var(--radius-full);background:var(--color-line)}.sheet-head[data-v-745ee5a2]{flex:none;display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px}.sheet-title[data-v-745ee5a2]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.sheet-body[data-v-745ee5a2]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,var(--safe-bottom))}.sheet-enter-active[data-v-745ee5a2],.sheet-leave-active[data-v-745ee5a2]{transition:opacity var(--duration-slow) var(--ease-out)}.sheet-enter-active .sheet-panel[data-v-745ee5a2],.sheet-leave-active .sheet-panel[data-v-745ee5a2]{transition:transform var(--duration-slow) var(--ease-out)}.sheet-enter-from[data-v-745ee5a2],.sheet-leave-to[data-v-745ee5a2]{opacity:0}.sheet-enter-from .sheet-panel[data-v-745ee5a2],.sheet-leave-to .sheet-panel[data-v-745ee5a2]{transform:translateY(102%)}.newrow[data-v-53fda211]{display:flex;align-items:center;gap:10px;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;border-radius:var(--radius-md);color:var(--color-accent);font-weight:500;font-size:var(--text-base);cursor:pointer;text-align:left}.newrow[data-v-53fda211]:hover,.newrow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]{padding-top:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-muted);font-weight:400}.newrow.secondary[data-v-53fda211]:hover{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]:active{background:var(--color-surface-sunken);color:var(--color-text)}.mlist[data-v-53fda211]{--m-pad: 16px;--m-gutter: 15px;--m-gap: 8px;--m-indent: calc(var(--m-pad) + var(--m-gutter) + var(--m-gap));padding-bottom:var(--space-1)}.mempty[data-v-53fda211]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-faint);font-size:var(--ui-font-size)}.mempty.small[data-v-53fda211]{padding:10px 16px 12px var(--m-indent);text-align:left;font-size:var(--ui-font-size-xs)}.mgroup[data-v-53fda211]{padding-top:2px}.mgh[data-v-53fda211]{display:flex;align-items:center;gap:var(--m-gap);padding:10px var(--m-pad) 6px;border-radius:var(--radius-md);cursor:pointer;user-select:none;position:relative}.mgh[data-v-53fda211]:hover,.mgh[data-v-53fda211]:active{background:var(--color-surface-sunken)}.mgh-folder[data-v-53fda211]{flex:none;color:var(--color-text-muted)}.mgh-main[data-v-53fda211]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mgh-name[data-v-53fda211]{font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-path[data-v-53fda211]{font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-add[data-v-53fda211]{margin:-10px -12px -10px 0}.mgh-add[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.mgh-more[data-v-53fda211]{margin:-10px -8px}.mgh-more[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.srow[data-v-53fda211]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--m-pad) var(--space-3) var(--m-indent);border-radius:var(--radius-md);cursor:pointer;position:relative}.srow[data-v-53fda211]:hover,.srow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.srow.cur[data-v-53fda211]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.srow .m[data-v-53fda211]{flex:1;min-width:0}.srow .m .t[data-v-53fda211]{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow.cur .m .t[data-v-53fda211]{color:var(--color-accent-hover)}.srow .m .t.run[data-v-53fda211]{position:relative}.srow .m .t.run[data-v-53fda211]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-accent);animation:mRunPulse-53fda211 1.4s ease-in-out infinite}@keyframes mRunPulse-53fda211{0%,to{opacity:1}50%{opacity:.35}}.srow .m .t.aborted[data-v-53fda211]{position:relative}.srow .m .t.aborted[data-v-53fda211]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-danger)}.srow .m .s[data-v-53fda211]{font-size:var(--text-base);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-faint);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att[data-v-53fda211]{flex:none;font-family:var(--font-mono);font-size:max(9px,calc(var(--ui-font-size) - 4px));color:var(--surface-light);background:var(--color-warning);border-radius:var(--radius-full);padding:1px 7px}.srow .kb[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.kmenu[data-v-53fda211]{position:absolute;right:12px;top:44px;z-index:var(--z-dropdown);min-width:96px;overflow:hidden}.wsmenu[data-v-53fda211]{top:calc(100% - 4px);right:var(--m-pad);min-width:132px}.mshow-more[data-v-53fda211]{display:flex;align-items:center;width:100%;min-height:44px;padding:var(--space-1) var(--m-pad) var(--space-1) var(--m-indent);background:none;border:none;color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;text-align:left}.mshow-more[data-v-53fda211]:active{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.newrow[data-v-53fda211]{font-family:var(--sans)}.mlist .srow[data-v-53fda211]{margin:1px 8px;border-radius:var(--radius-md);border-bottom:none;padding:12px calc(var(--m-pad, 16px) - 8px) 12px calc(var(--m-indent, 39px) - 8px)}.mlist .srow.cur[data-v-53fda211]{box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.group-title[data-v-5ba9962c]{padding:var(--space-3) var(--space-3) var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.srow[data-v-5ba9962c]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text)}.srow[data-v-5ba9962c]:hover:not(.read-only){background:var(--color-surface-sunken)}.srow[data-v-5ba9962c]:active:not(.read-only){background:var(--color-surface-sunken)}.srow.read-only[data-v-5ba9962c]{cursor:default}.srow-main[data-v-5ba9962c]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow-label[data-v-5ba9962c]{font-size:var(--text-base);color:var(--color-text)}.srow-sub[data-v-5ba9962c]{font-size:var(--text-base);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-val[data-v-5ba9962c]{flex:none;font-family:var(--font-mono);font-size:var(--ui-font-size);font-weight:500;color:var(--color-accent-hover)}.srow-val.dim[data-v-5ba9962c]{font-weight:400;color:var(--color-text-muted)}.cache-note[data-v-5ba9962c]{padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.4}.chev[data-v-5ba9962c]{flex:none;color:var(--color-text-faint);font-size:17px;line-height:1}.toggle[data-v-5ba9962c]{flex:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-line);position:relative;transition:background .18s}.toggle.on[data-v-5ba9962c]{background:var(--color-accent)}.toggle[data-v-5ba9962c]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-full);box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-line);box-shadow:var(--shadow-xs);transition:left .18s}.toggle.on[data-v-5ba9962c]:after{left:21px}.srow.pref[data-v-5ba9962c]{cursor:default}.num-field[data-v-5ba9962c]{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;padding:0 9px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg)}.num-input[data-v-5ba9962c]{width:50px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--ui-font-size);text-align:right}.num-unit[data-v-5ba9962c]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--ui-font-size-xs)}.srow.acct.in .srow-label[data-v-5ba9962c]{color:var(--color-accent-hover);font-weight:500}.srow.acct.out .srow-label[data-v-5ba9962c]{color:var(--color-danger)}.ctx-meter[data-v-5ba9962c]{flex:none;width:96px;height:7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.ctx-meter i[data-v-5ba9962c]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.srow[data-v-5ba9962c]{align-items:flex-start;gap:10px;min-width:0;padding:14px max(14px,var(--safe-right)) 14px max(14px,var(--safe-left))}.group-title[data-v-5ba9962c],.cache-note[data-v-5ba9962c]{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.srow-main[data-v-5ba9962c]{flex:1 1 auto}.srow-sub[data-v-5ba9962c]{white-space:normal;overflow-wrap:anywhere}.srow.pref[data-v-5ba9962c]{flex-wrap:wrap}.srow.pref .srow-main[data-v-5ba9962c]{flex:1 0 100%}.num-field[data-v-5ba9962c]{margin-left:auto}.srow-val[data-v-5ba9962c],.chev[data-v-5ba9962c],.toggle[data-v-5ba9962c],.ctx-meter[data-v-5ba9962c]{margin-top:2px}}.srow[data-v-5ba9962c],.srow-sub[data-v-5ba9962c],.srow-val[data-v-5ba9962c],.cache-note[data-v-5ba9962c]{font-family:var(--sans)}.arch-subhead[data-v-5ba9962c]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-1)}.arch-back[data-v-5ba9962c]{display:inline-flex;align-items:center;gap:2px;border:none;background:none;padding:var(--space-1) var(--space-2) var(--space-1) 0;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-accent-hover);cursor:pointer}.chev.back[data-v-5ba9962c]{font-size:20px}.arch-count[data-v-5ba9962c]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.arch-tools[data-v-5ba9962c]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.arch-search-input[data-v-5ba9962c]{flex:1;min-width:160px}.arch-row[data-v-5ba9962c]{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-line)}.arch-row[data-v-5ba9962c]:first-of-type{border-top:none}.arch-meta[data-v-5ba9962c]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.arch-name[data-v-5ba9962c]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-time[data-v-5ba9962c]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.arch-empty[data-v-5ba9962c]{padding:var(--space-6) var(--space-4);text-align:center;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.ob-brand[data-v-fbdd3eab]{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.ob-brand-text[data-v-fbdd3eab]{min-width:0}.ob-logo[data-v-fbdd3eab]{width:52px;height:36px;flex:none}.ob-title[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-medium)}.ob-sub[data-v-fbdd3eab]{color:var(--color-text-muted);font-size:var(--text-base);margin-top:1px}.ob-sec[data-v-fbdd3eab]{margin-bottom:var(--space-4)}.ob-label[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.ob-start[data-v-fbdd3eab]{width:100%}.ob-eyes[data-v-fbdd3eab]{animation:ob-eye-look-fbdd3eab 6s ease-in-out infinite}.ob-eye[data-v-fbdd3eab]{transform-box:fill-box;transform-origin:center;animation:ob-eye-blink-fbdd3eab 4s ease-in-out infinite}@keyframes ob-eye-look-fbdd3eab{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes ob-eye-blink-fbdd3eab{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ob-eyes[data-v-fbdd3eab],.ob-eye[data-v-fbdd3eab]{animation:none}}.gload[data-v-0b6dec6a]{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;min-width:100vw;min-height:100dvh;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;background:var(--bg)}.gload-box[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:22px;transform:translateY(-6%)}.gload-logo[data-v-0b6dec6a]{width:128px;height:auto;color:var(--color-text);animation:gload-pop-0b6dec6a .55s cubic-bezier(.22,1,.36,1) both}.gload-text[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-base);color:var(--muted);letter-spacing:.04em}.gload-issue[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:min(480px,80vw);font-family:var(--sans);font-size:var(--text-sm);color:var(--muted);text-align:center}.gload-issue-detail[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);opacity:.8;word-break:break-word}@keyframes gload-pop-0b6dec6a{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.gload-logo[data-v-0b6dec6a]{animation:none}}.gload-text[data-v-0b6dec6a]{font-family:var(--sans)}.kap-root[data-v-3cda6fe3]{height:100vh;display:flex;flex-direction:column;background:var(--bg);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2.5px);color:var(--color-text)}.kap-head[data-v-3cda6fe3]{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.kap-count[data-v-3cda6fe3]{color:var(--muted)}.kap-head-actions[data-v-3cda6fe3]{margin-left:auto;display:flex;gap:6px}.kap-head-actions button[data-v-3cda6fe3],.kap-view-toggle button[data-v-3cda6fe3]{padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);font:inherit;cursor:pointer}.kap-head-actions button[data-v-3cda6fe3]:hover,.kap-view-toggle button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-head-actions button.on[data-v-3cda6fe3],.kap-view-toggle button.on[data-v-3cda6fe3]{color:var(--color-accent-hover);border-color:var(--color-accent-bd);background:var(--color-accent-soft)}.kap-filters[data-v-3cda6fe3]{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line)}.kap-filters select[data-v-3cda6fe3],.kap-filters input[type=text][data-v-3cda6fe3]{padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--color-text);font:inherit;min-width:0}.kap-filters input[type=text][data-v-3cda6fe3]{flex:1;min-width:120px}.kap-check[data-v-3cda6fe3]{display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.kap-view-toggle[data-v-3cda6fe3]{display:flex;gap:0}.kap-view-toggle button[data-v-3cda6fe3]:first-child{border-radius:6px 0 0 6px;border-right:none}.kap-view-toggle button[data-v-3cda6fe3]:last-child{border-radius:0 6px 6px 0}.kap-list[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto}.kap-empty[data-v-3cda6fe3]{padding:18px 12px;color:var(--muted);text-align:center}.kap-row[data-v-3cda6fe3]{display:flex;align-items:baseline;gap:7px;width:100%;padding:3px 10px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.kap-row[data-v-3cda6fe3]:hover{background:var(--panel2)}.kap-row.expanded[data-v-3cda6fe3]{background:var(--color-accent-soft)}.kap-ts[data-v-3cda6fe3]{flex:none;color:var(--muted)}.kap-badge[data-v-3cda6fe3]{flex:none;padding:0 5px;border-radius:var(--radius-sm);font-size:max(9px,calc(var(--ui-font-size) - 4.5px));font-weight:500;line-height:1.7}.b-rest[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.b-in[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-success)}.b-out[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-warning)}.b-life[data-v-3cda6fe3]{background:var(--panel2);color:var(--muted)}.b-err[data-v-3cda6fe3]{background:var(--color-warning);color:var(--bg)}.kap-label[data-v-3cda6fe3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kap-detail[data-v-3cda6fe3]{border-bottom:1px solid var(--line);background:var(--bg);padding:6px 10px 10px}.kap-detail-actions[data-v-3cda6fe3]{display:flex;justify-content:flex-end;margin-bottom:4px}.kap-detail-actions button[data-v-3cda6fe3]{padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font:inherit;cursor:pointer}.kap-detail-actions button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-detail pre[data-v-3cda6fe3]{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:calc(var(--ui-font-size) - 3px);line-height:1.45}.kap-agg[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto;padding:8px 10px}.kap-agg h4[data-v-3cda6fe3]{margin:8px 0 4px;font-size:calc(var(--ui-font-size) - 2.5px);color:var(--muted)}.kap-agg table[data-v-3cda6fe3]{width:100%;border-collapse:collapse}.kap-agg th[data-v-3cda6fe3],.kap-agg td[data-v-3cda6fe3]{padding:3px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.kap-agg th[data-v-3cda6fe3]{color:var(--muted);font-weight:500}.kap-agg .num[data-v-3cda6fe3]{text-align:right}.kap-agg .err[data-v-3cda6fe3]{color:var(--color-warning);font-weight:500}.kap-agg .mono[data-v-3cda6fe3]{word-break:break-all}.kap-fab[data-v-21346738]{position:fixed;right:10px;bottom:10px;z-index:var(--z-overlay);padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 3px);font-weight:500;letter-spacing:.04em;cursor:pointer;opacity:.75}.kap-fab[data-v-21346738]:hover{opacity:1;color:var(--color-accent)}.server-auth-overlay[data-v-469e14bc]{position:fixed;inset:0;z-index:var(--z-max);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.server-auth-card[data-v-469e14bc]{width:480px;max-width:calc(100vw - 48px);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;color:var(--color-text);font-family:var(--font-ui)}.server-auth-head[data-v-469e14bc]{display:flex;flex-direction:column;padding:20px 22px 14px}.server-auth-title[data-v-469e14bc]{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text)}.server-auth-hint[data-v-469e14bc]{margin:4px 0 0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.server-auth-hint code[data-v-469e14bc]{padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-surface-sunken);border-radius:var(--radius-xs)}.server-auth-body[data-v-469e14bc]{padding:4px 22px 18px}.server-auth-foot[data-v-469e14bc]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.internal-build-tag[data-v-086c00dc]{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--color-logo-dev);color:var(--color-on-logo-dev);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.01em;line-height:1.4;white-space:nowrap;user-select:none}.gload-fade-leave-active[data-v-489f3058]{transition:opacity .28s ease}.gload-fade-leave-to[data-v-489f3058]{opacity:0}.app-shell[data-v-489f3058]{position:fixed;top:var(--app-top, 0px);left:0;right:0;height:100vh;height:100dvh;height:var(--app-height, 100dvh);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.auth-page[data-v-489f3058]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg);color:var(--color-text);box-sizing:border-box}.auth-page-inner[data-v-489f3058]{width:min(420px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth-page-logo[data-v-489f3058]{width:64px;height:44px;flex:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .18s ease}.auth-page-logo[data-v-489f3058]:hover{transform:scale(1.06)}.auth-page-copy[data-v-489f3058]{display:flex;flex-direction:column;gap:8px}.auth-page-copy h1[data-v-489f3058]{margin:0;font-family:var(--sans);font-size:30px;line-height:1.15;font-weight:500;letter-spacing:0;color:var(--color-text)}.auth-page-copy p[data-v-489f3058]{margin:0;font-family:var(--sans);font-size:var(--ui-font-size-lg);line-height:1.55;color:var(--dim)}.app[data-v-489f3058]{--preview-w: 460px;flex:1;min-height:0;position:relative;display:grid;grid-template-columns:auto 0 minmax(0,1fr) 0 auto;background:var(--bg);color:var(--color-text);overflow:hidden;box-sizing:border-box}.app[data-v-489f3058]>*{min-height:0;min-width:0}.app>.side[data-v-489f3058]{grid-column:1}.side-handle[data-v-489f3058]{grid-column:2}.app:not(.mobile)>.con[data-v-489f3058]{grid-column:3}.preview-handle[data-v-489f3058]{grid-column:4}.sidebar-toggle-btn[data-v-489f3058]{position:absolute;top:11px;left:16px;z-index:var(--z-sticky);animation:sidebar-toggle-btn-in-489f3058 .18s var(--ease-out) .12s backwards;-webkit-app-region:no-drag}.app.macos-desktop .sidebar-toggle-btn[data-v-489f3058]{left:72px;animation:none}@keyframes sidebar-toggle-btn-in-489f3058{0%{opacity:0}}.internal-build-fab[data-v-489f3058]{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:var(--z-sticky);pointer-events:none}.app.mobile[data-v-489f3058]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.global-preview[data-v-489f3058]{grid-column:5;min-width:0;min-height:0;width:0;background:var(--bg);overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1)}.global-preview.open[data-v-489f3058]{width:var(--preview-w)}.global-preview.no-anim[data-v-489f3058]{transition:none}.global-preview[data-v-489f3058]:not(.overlay)>*{width:var(--preview-w);height:100%;box-sizing:border-box;border-left:1px solid var(--line)}.global-preview.overlay[data-v-489f3058]{position:fixed;inset:0;z-index:var(--z-sticky);width:auto;transition:none;border-top:2px solid var(--color-text)}@media(max-width:640px){.auth-page[data-v-489f3058]{align-items:flex-start;padding:max(48px,var(--safe-top)) max(20px,var(--safe-right)) max(24px,var(--safe-bottom)) max(20px,var(--safe-left))}.auth-page-copy h1[data-v-489f3058]{font-size:26px}.auth-page-btn[data-v-489f3058]{width:100%}}:root{--panel-head-h: 48px}.app:not(.mobile) .chat-header{transition:padding-left .28s cubic-bezier(.4,0,.2,1)}.app.sidebar-collapsed .chat-header{padding-left:52px}.app.sidebar-collapsed.macos-desktop .chat-header{padding-left:108px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}p,blockquote,dl,dd,figure,pre{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:inherit}b,strong{font-weight:var(--weight-medium)}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{margin:0;padding:0;font-family:inherit;font-size:100%;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background:transparent;background-image:none}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1}table{border-collapse:collapse;border-color:inherit;text-indent:0}hr{height:0;color:inherit;border-top-width:1px}fieldset{margin:0;padding:0}legend{padding:0}dialog{padding:0}summary{display:list-item}[hidden]{display:none}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}}:root{--dim: #595959;--muted: #8a8a8a;--faint: #b5b5b5;--line: #e9edf3;--line2: #f1f4f8;--canvas: #f4f6fa;--sh: 0 1px 3px rgba(28, 40, 66, .05), 0 6px 18px rgba(28, 40, 66, .06);--shc: 0 1px 2px rgba(28, 40, 66, .05);--panel: #fafbfc;--panel2: #f3f5f8;--bg: #ffffff;--blue: #1783ff;--blue2: #0f6fe0;--soft: #e8f3ff;--bd: #cfe6ff;--logo: #1783ff;--bluebg: #e8f3ff;--blueln: #cfe6ff;--ok: #0e7a38;--warn: #a9610a;--star: #eab308;--err: #c0392b;--hover: rgba(0, 0, 0, .05);--r-xs: var(--radius-sm);--r-sm: var(--radius-md);--r-md: var(--radius-lg);--r-lg: var(--radius-xl);--base-ui-font-size: 14px;--ui-font-size: var(--base-ui-font-size);--ui-font-size-sm: calc(var(--ui-font-size) - 1px);--ui-font-size-xs: calc(var(--ui-font-size) - 2px);--ui-font-size-lg: calc(var(--ui-font-size) + 1px);--ui-font-size-xl: calc(var(--ui-font-size) + 2px);--content-font-size: calc(var(--base-ui-font-size) + 1px);--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: var(--font-ui);color-scheme:light dark}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}.kw-icon{display:inline-block;flex:none;vertical-align:-.15em}code,pre,kbd,samp,tt{font-feature-settings:"liga" 0,"calt" 0,"ss01" 0;font-variant-ligatures:none}html[data-color-scheme=light]{color-scheme:light}html[data-color-scheme=system]{color-scheme:light dark}html[data-color-scheme=dark]{color-scheme:dark;--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}}html[data-accent=mono]{--accent-primary: #171717;--color-accent: #171717;--color-accent-hover: #383838;--color-accent-soft: #f1f1f2;--color-accent-bd: #d4d4d8;--blue: #171717;--blue2: #383838;--soft: #f1f1f2;--bd: #d4d4d8;--bluebg: #f4f4f5;--blueln: #e4e4e7;--logo: #171717}html[data-color-scheme=dark][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}@media(prefers-color-scheme:dark){html[data-color-scheme=system][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}}:root{--accent-primary: #1783ff;--accent-secondary: #6b7280;--surface-light: #ffffff;--surface-dark: #0d1117;--color-bg: #ffffff;--color-surface: #fafbfc;--color-surface-raised: #ffffff;--color-surface-sunken: #f3f5f8;--color-media-alpha-bg-1: color-mix(in srgb, var(--color-bg) 52%, var(--color-text) 48%);--color-media-alpha-bg-2: color-mix(in srgb, var(--color-bg) 42%, var(--color-text) 58%);--media-alpha-canvas: conic-gradient( var(--color-media-alpha-bg-1) 25%, var(--color-media-alpha-bg-2) 0 50%, var(--color-media-alpha-bg-1) 0 75%, var(--color-media-alpha-bg-2) 0 ) 0 0 / 16px 16px;--color-text: rgba(0, 0, 0, .9);--color-text-muted: #6b7280;--color-text-faint: #9aa3af;--color-text-on-accent: #ffffff;--color-line: #e7eaee;--color-line-strong: #d4d9e0;--color-selected: #00000014;--color-hover: #0000000d;--color-sidebar-bg: #fbfaf9;--color-accent: var(--accent-primary);--color-accent-hover: #0f6fe0;--color-accent-soft: #e8f3ff;--color-accent-bd: #cfe6ff;--color-success: #0e7a38;--color-success-soft: #e7f6ee;--color-success-bd: #bfe3cc;--color-warning: #a9610a;--color-warning-soft: #fbf1e0;--color-warning-bd: #f0d9b8;--color-danger: #c0392b;--color-danger-soft: #fbeaea;--color-danger-bd: #f0cccc;--color-done: #8250df;--color-done-soft: #f3e8ff;--color-done-bd: #e0ccff;--color-info: var(--accent-primary);--color-logo-dev: #f5b301;--color-on-logo-dev: #3a2a00;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-tooltip: 250;--z-overlay: 300;--z-modal: 400;--z-toast: 600;--z-max: 9999;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .07), 0 2px 4px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12), 0 4px 10px rgba(16, 24, 40, .08);--shadow-xl: 0 24px 64px rgba(16, 24, 40, .18), 0 8px 20px rgba(16, 24, 40, .1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .16s;--duration-slow: .26s;--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-display: var(--font-ui);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 700;--p-focus-ring: 0 0 0 3px var(--color-accent-soft);--p-focus-ring-strong: 0 0 0 3px var(--color-accent-soft), 0 0 0 1px var(--color-accent);--p-selection: rgba(23, 131, 255, .18);--p-ic-sm: 14px;--p-ic-md: 16px;--p-ic-lg: 20px;--p-sidebar-w: 264px;--p-content-max: 760px;--p-content-wide: 920px;--p-table-max: 1040px;--p-table-cell-max: 700px;--p-bp-sm: 640px;--p-bp-md: 980px}html[data-color-scheme=dark]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}}html,body,#app{height:100%;margin:0;background:var(--bg)}#app{position:fixed;inset:0}html,body{overflow:hidden}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent}}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#8080804d;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#80808080}*::-webkit-scrollbar-corner{background:transparent}body{font-family:var(--sans);color:var(--color-text);background:var(--bg);font-size:var(--ui-font-size);font-weight:400;line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;font-synthesis:none;text-size-adjust:100%;-webkit-hyphens:none;hyphens:none}@media(max-width:640px){.backdrop{align-items:flex-end;justify-content:stretch}.backdrop .dialog{width:100%;max-width:100%;max-height:88vh;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid var(--line);box-shadow:0 -10px 30px #0000002e;animation:kimi-sheet-up .26s cubic-bezier(.4,0,.2,1)}}@keyframes kimi-sheet-up{0%{transform:translateY(101%)}to{transform:translateY(0)}}.backdrop,.ob-backdrop{min-width:100vw!important;min-height:100vh!important;min-height:100dvh!important}@keyframes kimi-card-in{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kimi-check-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.ch-eyes{animation:kimi-eye-look 16s ease-in-out infinite}.ch-eye{transform-box:fill-box;transform-origin:center;animation:kimi-eye-blink 11s ease-in-out infinite}@keyframes kimi-eye-look{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes kimi-eye-blink{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ch-eyes,.ch-eye{animation:none}}.ch-logo.blink-now .ch-eye{animation:kimi-eye-blink-once .24s ease-in-out}@keyframes kimi-eye-blink-once{0%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.md .markdown-renderer img{min-width:0;min-height:0}.app{font-size:var(--ui-font-size)}.md,.md .markdown-renderer,.md .markdown-renderer p,.md .markdown-renderer li,.md .markdown-renderer blockquote,.md .markdown-renderer td,.md .markdown-renderer th,.u-bub,.u-bub .u-text,.a-msg .msg,.box .bb,.ph{font-size:var(--content-font-size)}.md .code-block-container pre,.md .markstream-pre,.md .code-block-container pre code,.md .diff-pre code,.box .bh,.queue-item,.queue-text,.ctx-num,.model-pill,.perm-pill,.mode-pill,.compact-chip,.qcard,.qtext,.qopt,.qbtn,.srow,.srow-val{font-size:var(--ui-font-size)}.md :not(pre)>code,.md .inline-code,.a-msg code,.qopt-desc,.srow-label{font-size:var(--ui-font-size-sm)}.code-block-header,.code-block-header *,.diff-lang,.queue-label,.qopt-key,.qstep,.srow-sub{font-size:var(--ui-font-size-xs)}@media(max-width:640px){.u-bub .u-text,.a-msg .msg,.ph{font-size:max(16px,var(--ui-font-size-xl))}} diff --git a/apps/kimi-code/dist-web/assets/index-CABDay0b.css b/apps/kimi-code/dist-web/assets/index-CABDay0b.css new file mode 100644 index 0000000000..d0697f0462 --- /dev/null +++ b/apps/kimi-code/dist-web/assets/index-CABDay0b.css @@ -0,0 +1 @@ +.ui-icon-button[data-v-c9e67023]{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.ui-icon-button[data-v-c9e67023]:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,transparent);color:var(--color-text)}.ui-icon-button[data-v-c9e67023]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-icon-button[data-v-c9e67023]:disabled{opacity:.5;cursor:not-allowed}.ui-icon-button--sm[data-v-c9e67023]{width:26px;height:26px;border-radius:var(--radius-sm)}.ui-icon-button--md[data-v-c9e67023]{width:32px;height:32px}.ui-icon-button--lg[data-v-c9e67023]{width:44px;height:44px}.ui-icon-button[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--sm[data-v-c9e67023] svg{width:var(--p-ic-md);height:var(--p-ic-md)}.ui-icon-button--lg[data-v-c9e67023] svg{width:var(--p-ic-lg);height:var(--p-ic-lg)}.ui-dialog__overlay[data-v-ee025dcb]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#0d111773;animation:kimi-dialog-overlay-in-ee025dcb var(--duration-base) var(--ease-out)}@keyframes kimi-dialog-overlay-in-ee025dcb{0%{opacity:0}to{opacity:1}}.ui-dialog[data-v-ee025dcb]{max-height:calc(100vh - var(--space-8) * 2);display:flex;flex-direction:column;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);outline:none;overflow:hidden;animation:kimi-card-in var(--duration-slow) var(--ease-out)}.ui-dialog--md[data-v-ee025dcb]{width:min(440px,100%)}.ui-dialog--lg[data-v-ee025dcb]{width:min(640px,100%)}.ui-dialog--xl[data-v-ee025dcb]{width:min(var(--p-content-max),100%)}.ui-dialog--fixed-height[data-v-ee025dcb]{height:min(680px,calc(100vh - var(--space-8) * 2))}.ui-dialog--flush .ui-dialog__body[data-v-ee025dcb]{padding:0}.ui-dialog__head[data-v-ee025dcb]{display:flex;align-items:flex-start;gap:var(--space-3);padding:20px 22px 14px}.ui-dialog__titles[data-v-ee025dcb]{flex:1;min-width:0}.ui-dialog__title[data-v-ee025dcb]{font-size:var(--text-lg);font-weight:500;color:var(--color-text);line-height:var(--leading-tight)}.ui-dialog__desc[data-v-ee025dcb]{margin-top:4px;font-size:var(--text-base);color:var(--color-text-muted)}.ui-dialog__close[data-v-ee025dcb]{flex:none;margin-top:-2px}.ui-dialog__body[data-v-ee025dcb]{flex:1;min-height:0;padding:4px 22px 18px;color:var(--color-text);overflow:auto}.ui-dialog__foot[data-v-ee025dcb]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.sd-head[data-v-ac47909f]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2)}.sd-search-icon[data-v-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-input[data-v-ac47909f]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-lg);color:var(--color-text);background:none;border:none;outline:none;padding:var(--space-1) 0}.sd-input[data-v-ac47909f]::placeholder{color:var(--color-text-muted)}.sd-list[data-v-ac47909f]{height:420px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.sd-row[data-v-ac47909f]{display:flex;flex-direction:column;gap:2px;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;cursor:pointer;text-align:left;font-family:var(--font-ui);color:var(--color-text)}.sd-row[data-v-ac47909f]:hover,.sd-row.on[data-v-ac47909f]{background:var(--color-surface-sunken)}.sd-row.active .sd-title[data-v-ac47909f]{color:var(--color-accent-hover)}.sd-meta[data-v-ac47909f]{display:flex;align-items:center;gap:var(--space-1);min-width:0;font-size:var(--text-xs);color:var(--color-text-muted)}.sd-folder[data-v-ac47909f]{flex:none;color:var(--color-text-muted)}.sd-ws[data-v-ac47909f]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-time[data-v-ac47909f]{flex:none;font-family:var(--font-mono);color:var(--color-text-faint)}.sd-title[data-v-ac47909f]{min-width:0;font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-snippet[data-v-ac47909f]{min-width:0;font-size:var(--text-sm);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-title[data-v-ac47909f] mark,.sd-snippet[data-v-ac47909f] mark{background:var(--color-accent);color:var(--color-bg);font-weight:var(--weight-semibold);border-radius:var(--radius-xs);padding:0 2px}.sd-empty[data-v-ac47909f]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.sd-hint[data-v-ac47909f]{font-size:var(--text-xs);color:var(--color-text-muted)}.ui-spinner[data-v-e5c5b17d]{display:inline-flex;flex:none;color:var(--color-accent)}.ui-spinner--sm[data-v-e5c5b17d]{width:14px;height:14px}.ui-spinner--md[data-v-e5c5b17d]{width:18px;height:18px}.ui-spinner--lg[data-v-e5c5b17d]{width:28px;height:28px}.ui-spinner__svg[data-v-e5c5b17d]{width:100%;height:100%;animation:ui-spinner-rotate-e5c5b17d .85s linear infinite}.ui-spinner__track[data-v-e5c5b17d]{fill:none;stroke:var(--color-line);stroke-width:2.2}.ui-spinner__arc[data-v-e5c5b17d]{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:56 56;stroke-dashoffset:38}@keyframes ui-spinner-rotate-e5c5b17d{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ui-spinner__svg[data-v-e5c5b17d]{animation-duration:1.8s}}.ui-badge[data-v-5bc5cd6d]{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;border:1px solid transparent}.ui-badge--md[data-v-5bc5cd6d]{height:22px;padding:0 9px;font-size:var(--text-xs)}.ui-badge--sm[data-v-5bc5cd6d]{height:18px;padding:0 7px;font-size:11px}.ui-badge__dot[data-v-5bc5cd6d]{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex:none}.ui-badge--neutral[data-v-5bc5cd6d]{background:var(--color-surface-sunken);color:var(--color-text-muted);border-color:var(--color-line)}.ui-badge--info[data-v-5bc5cd6d]{background:var(--color-accent-soft);color:var(--color-accent-hover);border-color:var(--color-accent-bd)}.ui-badge--success[data-v-5bc5cd6d]{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success-bd)}.ui-badge--warning[data-v-5bc5cd6d]{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning-bd)}.ui-badge--danger[data-v-5bc5cd6d]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-badge--solid[data-v-5bc5cd6d]{background:var(--color-text);color:var(--color-bg)}.ui-menu[data-v-60e6cd8d]{min-width:180px;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.ui-menu-item[data-v-f940771a]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);text-align:left;cursor:pointer;transition:background var(--duration-base),color var(--duration-base)}.ui-menu-item[data-v-f940771a]:hover:not(:disabled){background:var(--color-surface-sunken)}.ui-menu-item[data-v-f940771a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-menu-item[data-v-f940771a]:disabled{opacity:.5;cursor:not-allowed}.ui-menu-item.is-active[data-v-f940771a]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.ui-menu-item.is-danger[data-v-f940771a]{color:var(--color-danger)}.ui-menu-item.is-danger[data-v-f940771a]:hover:not(:disabled){background:var(--color-danger-soft)}.ui-menu-item[data-v-f940771a] svg{width:14px;height:14px;flex:none}.ui-menu-item--lg[data-v-f940771a]{min-height:44px;padding:12px 14px;font-size:var(--text-base)}.ui-menu-sep[data-v-f940771a]{height:1px;margin:4px 0;background:var(--color-line)}.ui-tip[data-v-98697f45]{display:contents}.ui-tip__bubble[data-v-98697f45]{position:fixed;z-index:var(--z-tooltip);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--tip-lines);max-width:280px;padding:4px 8px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--color-bg);font-family:var(--font-ui);font-size:var(--text-xs);line-height:1.35;overflow:hidden;overflow-wrap:anywhere;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.ui-tip__bubble.positioned[data-v-98697f45]{opacity:1}.se[data-v-1c24e83d]{display:block;margin:0;padding:8px var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-ui);color:var(--color-text);cursor:pointer;position:relative}.se[data-v-1c24e83d]:hover{background:var(--sb-hover, var(--color-surface-sunken));color:var(--color-text)}.se.on[data-v-1c24e83d]{background:var(--color-selected);color:var(--color-text)}.row[data-v-1c24e83d]{display:flex;align-items:center;gap:var(--sb-gap, 6px);min-width:0}.left[data-v-1c24e83d]{display:flex;align-items:center;flex:1;min-width:0}.lead[data-v-1c24e83d]{width:var(--sb-gutter, 16px);flex:none;display:inline-flex;align-items:center;justify-content:center}.unread-dot[data-v-1c24e83d]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-accent)}.t[data-v-1c24e83d]{color:inherit;font-size:var(--ui-font-size-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-emoji[data-v-1c24e83d]{margin-right:4px;font-size:var(--text-base)}.ts[data-v-1c24e83d]{color:var(--color-text-faint);font-size:var(--text-xs);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:var(--leading-tight);font-variant-numeric:tabular-nums;text-align:right}.pr[data-v-1c24e83d]{display:inline-flex;align-items:center;gap:var(--space-1);flex:none;padding:1px var(--space-1);border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;cursor:pointer}.pr[data-v-1c24e83d]:hover{border-color:var(--color-line-strong)}.pr[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.pr--open[data-v-1c24e83d],.pr--open[data-v-1c24e83d]:hover{background:var(--color-success-soft);border-color:var(--color-success-bd);color:var(--color-success)}.pr--merged[data-v-1c24e83d],.pr--merged[data-v-1c24e83d]:hover{background:var(--color-done-soft);border-color:var(--color-done-bd);color:var(--color-done)}.act[data-v-1c24e83d]{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:flex-end;min-width:78px}.se.has-gen .act[data-v-1c24e83d]{min-width:104px}.act .btn[data-v-1c24e83d]{position:absolute;top:50%;transform:translateY(-50%);visibility:hidden}.act .kebab[data-v-1c24e83d]{right:0}.act .pin[data-v-1c24e83d]{right:26px}.act .emoji-btn[data-v-1c24e83d]{right:52px}.act .gen-title[data-v-1c24e83d]{right:78px}.act .pin.on[data-v-1c24e83d]{visibility:visible;color:var(--color-accent)}.se:hover .act .btn[data-v-1c24e83d],.act:has(.btn.open) .btn[data-v-1c24e83d]{visibility:visible}.se:hover .act .ts[data-v-1c24e83d],.act:has(.btn.open) .ts[data-v-1c24e83d]{visibility:hidden}.btn.open[data-v-1c24e83d]{color:var(--color-text);background:var(--sb-hover, var(--color-surface-sunken))}.emoji-glyph[data-v-1c24e83d]{font-size:var(--text-base);line-height:1}.emoji-picker[data-v-1c24e83d]{position:fixed;top:0;left:0;z-index:var(--z-dropdown);min-width:172px;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.emoji-grid[data-v-1c24e83d]{display:grid;grid-template-columns:repeat(5,28px);gap:var(--space-1)}.emoji-cell[data-v-1c24e83d]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.emoji-cell[data-v-1c24e83d]:hover{background:var(--color-surface-sunken)}.emoji-cell[data-v-1c24e83d]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.emoji-cell.on[data-v-1c24e83d]{background:var(--color-accent-soft)}.emoji-clear[data-v-1c24e83d]{margin-top:var(--space-1);width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);padding:4px 8px;cursor:pointer}.emoji-clear[data-v-1c24e83d]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.menu[data-v-1c24e83d]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.menu-time[data-v-1c24e83d]{padding:6px 10px;color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);cursor:default;user-select:text}.rename-input[data-v-1c24e83d]{flex:1;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:1px 4px;outline:none;min-width:0}.sessions .se[data-v-1c24e83d]{margin:0;border-radius:var(--radius-sm);padding:8px calc(var(--sb-pad-x, 20px) - var(--sb-inset, 12px))}.sessions .se .rename-input[data-v-1c24e83d]{border-radius:var(--radius-sm);font-family:var(--sans)}.sessions .se .btn[data-v-1c24e83d]{border-radius:var(--radius-sm)}.group.dragging[data-v-ec29996e]{opacity:.45}.group-sessions[data-v-ec29996e]{height:auto;overflow:hidden;transition:height var(--duration-base) var(--ease-out)}.group-sessions.collapsed[data-v-ec29996e]{height:0}.gh[data-v-ec29996e]{display:flex;flex-direction:column;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text);user-select:none;position:relative;cursor:grab}.gh[data-v-ec29996e]:active{cursor:grabbing}.gh.renaming[data-v-ec29996e],.gh.renaming[data-v-ec29996e]:active{cursor:auto}.gh[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.gh-top[data-v-ec29996e]{position:relative;display:flex;align-items:center;gap:var(--sb-gap)}.gh-folder[data-v-ec29996e]{flex:none;color:var(--color-text-muted)}.gh-name[data-v-ec29996e]{font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);color:var(--color-text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.gh-actions[data-v-ec29996e]{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--space-1);padding-left:var(--space-1);border-radius:var(--radius-sm);isolation:isolate;background:var(--color-sidebar-bg);opacity:0;pointer-events:none}.gh-actions[data-v-ec29996e]:after{content:"";position:absolute;inset:0;z-index:0;border-radius:var(--radius-sm);background:transparent}.gh:hover .gh-actions[data-v-ec29996e]:after{background:var(--sb-hover, var(--color-surface-sunken))}.gh-actions[data-v-ec29996e]>*{position:relative;z-index:1}.gh:hover .gh-actions[data-v-ec29996e],.gh:focus-within .gh-actions[data-v-ec29996e],.gh-actions.open[data-v-ec29996e]{opacity:1;pointer-events:auto}.gh-more.open[data-v-ec29996e]{color:var(--color-text);background:var(--color-line)}.group-empty[data-v-ec29996e]{padding:var(--space-1) var(--space-2) var(--space-1) calc(var(--sb-pad-x) - var(--sb-inset) + var(--sb-gutter) + var(--sb-gap));font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-ui)}.show-more[data-v-ec29996e]{display:flex;align-items:center;gap:var(--sb-gap);width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);line-height:var(--leading-tight);text-align:left;cursor:pointer}.show-more[data-v-ec29996e]:hover{background:var(--sb-hover, var(--color-surface-sunken))}.show-more[data-v-ec29996e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.show-more-lead[data-v-ec29996e]{width:var(--sb-gutter);flex:none}.show-more-label[data-v-ec29996e]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gh-rename[data-v-ec29996e]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.gh-rename[data-v-ec29996e]{border-radius:var(--radius-sm);font-family:var(--sans)}.gh-add[data-v-ec29996e]{color:var(--faint)}.gh-add[data-v-ec29996e]:hover{color:var(--dim)}.ui-kbd[data-v-32292ed8]{display:inline-flex;align-items:center;gap:3px;flex:none}.ui-kbd__key[data-v-32292ed8]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--color-line);border-bottom-width:2px;border-radius:var(--radius-xs);background:var(--color-surface-sunken);color:var(--color-text-muted);font-family:var(--font-ui);font-size:11px;line-height:1}.kimi-mascot[data-v-6634dad2]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent);user-select:none}.kimi-mascot--pulse[data-v-6634dad2]{animation:kimi-mascot-pulse-6634dad2 2.6s var(--ease-out) infinite}@keyframes kimi-mascot-pulse-6634dad2{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 0%,transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 25%,transparent)}}@media(prefers-reduced-motion:reduce){.kimi-mascot--pulse[data-v-6634dad2]{animation:none}}.ui-pill[data-v-317ace1a]{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;cursor:default;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}button.ui-pill[data-v-317ace1a]{cursor:pointer}button.ui-pill[data-v-317ace1a]:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}button.ui-pill[data-v-317ace1a]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}button.ui-pill[data-v-317ace1a]:disabled{opacity:.5;cursor:not-allowed}.ui-pill.is-active[data-v-317ace1a]{background:var(--color-accent-soft);color:var(--color-accent)}.ui-pill[data-v-317ace1a] svg{width:var(--p-ic-sm);height:var(--p-ic-sm);flex:none;color:var(--color-text-faint)}.side[data-v-7e5a3931]{background:var(--color-sidebar-bg);display:flex;flex-direction:row;justify-content:flex-end;overflow:hidden;min-width:0;height:100%;transition:width .28s cubic-bezier(.4,0,.2,1),visibility .28s;--sb-inset: var(--space-3);--sb-pad-x: var(--space-5);--sb-gutter: 16px;--sb-gap: var(--space-2);--sb-hover: var(--color-hover)}.side.no-anim[data-v-7e5a3931]{transition:none}.side.collapsed[data-v-7e5a3931]{visibility:hidden}.col[data-v-7e5a3931]{flex:none;min-width:0;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box;border-right:1px solid var(--line);container-type:inline-size;container-name:sidebar-col}.ch[data-v-7e5a3931]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-3);min-height:calc(26px + 2 * var(--space-3));width:100%;box-sizing:border-box}.side.macos-desktop .ch[data-v-7e5a3931]{padding-left:80px;-webkit-app-region:drag}.side.macos-desktop .ch-brand[data-v-7e5a3931]{display:none}.ch-logo[data-v-7e5a3931]{height:22px;width:32px;flex:none;display:block;cursor:pointer;user-select:none;touch-action:none;transition:transform .18s ease}.ch-logo[data-v-7e5a3931]:hover{transform:scale(1.08)}.ch-logo.is-dev[data-v-7e5a3931]{--logo: var(--color-logo-dev)}.ch-brand[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;min-width:0;flex:1;user-select:none;touch-action:none}.ch-name[data-v-7e5a3931]{font-size:var(--ui-font-size);font-weight:500;line-height:22px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-backend[data-v-7e5a3931]{flex:none;min-width:0}.ch-backend-kind[data-v-7e5a3931]{font-family:var(--mono);font-weight:500;color:var(--color-text-muted)}.ch-backend-kind.is-v2[data-v-7e5a3931]{color:var(--color-accent)}.ch-backend-ep[data-v-7e5a3931]{font-family:var(--mono);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis}@container sidebar-col (max-width: 320px){.ch-backend-ep[data-v-7e5a3931]{display:none}}@container sidebar-col (max-width: 250px){.ch-name[data-v-7e5a3931]{display:none}}.btn-wrap[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;padding:0 var(--sb-inset)}.btn-new-chat[data-v-7e5a3931]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-new-chat[data-v-7e5a3931]:hover{background:var(--sb-hover)}.btn-new-chat[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-new-chat svg[data-v-7e5a3931]{flex:none}.btn-new-chat span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-wrap[data-v-7e5a3931]{padding:0 var(--sb-inset);position:relative;z-index:1;background:var(--color-sidebar-bg);border-bottom:1px solid transparent;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.search-wrap--scrolled[data-v-7e5a3931]{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}.search[data-v-7e5a3931]{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.search[data-v-7e5a3931]:hover{background:var(--sb-hover)}.search[data-v-7e5a3931]:focus-visible{background:var(--sb-hover);color:var(--color-text);outline:2px solid var(--color-accent-bd);outline-offset:-2px}.search-icon[data-v-7e5a3931]{flex:none}.search-input[data-v-7e5a3931]{flex:1;min-width:0;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sessions[data-v-7e5a3931]{flex:1;overflow-y:auto;padding:var(--space-3) var(--sb-inset);min-height:0}.sessions[data-v-7e5a3931]::-webkit-scrollbar{width:4px}.sessions[data-v-7e5a3931]::-webkit-scrollbar-track{background:transparent}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text) 12%,transparent);border-radius:var(--radius-full)}.sessions[data-v-7e5a3931]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text) 25%,transparent)}.side-footer[data-v-7e5a3931]{display:flex;align-items:center;gap:8px;flex:none;padding:var(--space-2) var(--sb-inset);border-top:1px solid var(--line)}.btn-settings[data-v-7e5a3931]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:8px calc(var(--sb-pad-x) - var(--sb-inset));border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--ui-font-size-sm);line-height:var(--leading-tight);cursor:pointer;text-align:left}.btn-settings[data-v-7e5a3931]:hover{background:var(--sb-hover)}.btn-settings[data-v-7e5a3931]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.btn-settings svg[data-v-7e5a3931]{flex:none}.btn-settings span[data-v-7e5a3931]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-mascot[data-v-7e5a3931]{flex:none}.side-section-label[data-v-7e5a3931]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 var(--space-3) var(--space-1) var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-regular);text-transform:uppercase;color:var(--faint);user-select:none}.side-section-title[data-v-7e5a3931]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-section-toggle[data-v-7e5a3931]{color:var(--faint);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.side-section-label:hover .side-section-toggle[data-v-7e5a3931],.side-section-label:focus-within .side-section-toggle[data-v-7e5a3931]{opacity:1}.side-section-toggle[data-v-7e5a3931]:hover{color:var(--dim)}.side-section-toggle svg[data-v-7e5a3931]{width:13px;height:13px}.side-section-actions[data-v-7e5a3931]{display:flex;align-items:center;gap:2px}.ws-drop-target.drop-before[data-v-7e5a3931]{box-shadow:inset 0 2px 0 var(--color-accent)}.ws-drop-target.drop-after[data-v-7e5a3931]{box-shadow:inset 0 -2px 0 var(--color-accent)}.empty[data-v-7e5a3931]{padding:var(--space-6) var(--space-3);text-align:center;color:var(--faint);font-size:calc(var(--ui-font-size) - 3px);line-height:1.6}.ws-menu[data-v-7e5a3931],.gh-menu[data-v-7e5a3931],.section-menu[data-v-7e5a3931],.backend-menu[data-v-7e5a3931]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}.section-menu-check[data-v-7e5a3931]{display:inline-flex;flex:none;width:14px}.backend-menu-name[data-v-7e5a3931]{font-family:var(--mono);font-weight:500}.backend-menu-url[data-v-7e5a3931]{margin-left:8px;font-family:var(--mono);color:var(--color-text-muted)}.rh[data-v-48fd0a6d]{width:4px;flex:none;cursor:col-resize;position:relative;align-self:stretch;background:transparent;touch-action:none;margin:0 -2px;z-index:var(--z-dropdown)}.rh-bar[data-v-48fd0a6d]{position:absolute;inset:0;background:transparent;transition:background .12s}.rh:hover .rh-bar[data-v-48fd0a6d],.rh.dragging .rh-bar[data-v-48fd0a6d]{background:var(--color-accent)}.kw-dot[data-v-e36198e5]{width:7px;height:7px;border-radius:var(--radius-full);background:var(--color-text-faint);flex:none}.kw-dot--ok[data-v-e36198e5]{background:var(--color-success)}.kw-dot--error[data-v-e36198e5]{background:var(--color-danger)}.kw-dot--suspended[data-v-e36198e5]{background:var(--color-warning)}.kw-dot--running[data-v-e36198e5]{background:var(--color-accent);animation:kw-dot-pulse-e36198e5 1.4s var(--ease-out) infinite}@keyframes kw-dot-pulse-e36198e5{0%{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 40%,transparent)}to{box-shadow:0 0 0 6px transparent}}.box[data-v-fef8aad2]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.box.err[data-v-fef8aad2]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.box.stacked[data-v-fef8aad2]{border:none;border-radius:0}.box.stacked .bh[data-v-fef8aad2]{border-radius:0}.box.stack-middle[data-v-fef8aad2],.box.stack-last[data-v-fef8aad2]{border-top:1px solid var(--color-line)}.bh[data-v-fef8aad2]{display:flex;align-items:center;gap:8px;min-height:30px;padding:0 11px;cursor:pointer;font:var(--text-sm) var(--font-mono);color:var(--color-text)}.box.open .bh[data-v-fef8aad2],.bh[data-v-fef8aad2]:hover{background:var(--color-surface-sunken)}.box.err .bh[data-v-fef8aad2]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.box.err .bh[data-v-fef8aad2]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.gl[data-v-fef8aad2]{display:inline-flex;align-items:center;color:var(--color-text-faint);flex:none}.bh-text[data-v-fef8aad2]{display:flex;align-items:baseline;gap:inherit;flex:1;min-width:0}.a[data-v-fef8aad2]{color:var(--color-text);font-weight:var(--weight-medium);flex:none}.p[data-v-fef8aad2]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-fef8aad2]{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-xs);display:flex;align-items:center;gap:6px;flex:none}.tm[data-v-fef8aad2]{color:var(--color-text-faint)}.chip[data-v-fef8aad2-s]{color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);flex:none}.status[data-v-fef8aad2]{display:inline-flex;align-items:center;flex:none}.status.ok[data-v-fef8aad2]{color:var(--color-success)}.status.error[data-v-fef8aad2]{color:var(--color-danger)}.bb[data-v-fef8aad2]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.bb.open[data-v-fef8aad2]{grid-template-rows:minmax(0,1fr)}.bb-pad[data-v-fef8aad2]{min-height:0;overflow:hidden;padding:var(--space-2) var(--space-3) var(--space-3);background:var(--color-surface-sunken);border-top:1px solid var(--color-line);color:var(--color-text);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.box.mob[data-v-fef8aad2]{margin:0}.at-open[data-v-72115ae1]{flex:none;background:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);padding:1px 7px;cursor:pointer}.at-open[data-v-72115ae1]:hover{color:var(--color-text);background:var(--color-surface-sunken)}.at-type[data-v-72115ae1]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:6px}.at-type-sep[data-v-72115ae1]{margin:0 6px;color:var(--color-text-faint)}.at-task[data-v-72115ae1]{color:var(--color-text);white-space:pre-wrap;word-break:break-word}.at-task+.bb-code[data-v-72115ae1]{margin-top:10px}.bb-code[data-v-72115ae1]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md)}.chip[data-v-a9a0f259]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.au-dismissed[data-v-a9a0f259]{color:var(--color-text-muted);font:italic var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-list[data-v-a9a0f259]{display:flex;flex-direction:column;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.au-block[data-v-a9a0f259]{padding:4px 0}.au-block+.au-block[data-v-a9a0f259]{margin-top:4px;padding-top:10px;border-top:1px dashed var(--color-line)}.au-q[data-v-a9a0f259]{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.au-hdr[data-v-a9a0f259]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:0 6px;flex:none}.au-qtext[data-v-a9a0f259]{color:var(--color-text);font-weight:var(--weight-medium)}.au-opts[data-v-a9a0f259]{display:flex;flex-direction:column;gap:4px}.au-opt[data-v-a9a0f259]{display:flex;align-items:center;gap:8px;padding:5px 10px;border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text-faint)}.au-opt.sel[data-v-a9a0f259]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.au-glyph[data-v-a9a0f259]{font:var(--text-base) var(--font-mono);color:var(--color-text-faint);width:14px;text-align:center;flex:none}.au-opt.sel .au-glyph[data-v-a9a0f259]{color:var(--color-accent-hover)}.au-label[data-v-a9a0f259]{color:inherit}.au-desc[data-v-a9a0f259]{color:var(--color-text-faint);font-size:var(--text-xs);margin-left:2px}.au-opt.sel .au-desc[data-v-a9a0f259]{color:var(--color-text-muted)}.au-raw[data-v-a9a0f259]{padding:11px 13px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);font:var(--text-sm)/1.65 var(--font-mono);white-space:pre-wrap;word-break:break-word}.tool-output-block[data-v-262bbea0]{margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised)}.tool-output-block.scroll[data-v-262bbea0]{max-height:calc(var(--tool-output-visible-lines) * 1lh);overflow-y:auto;scrollbar-gutter:stable}.bb-empty[data-v-262bbea0]{color:var(--color-text-muted);font-style:italic}.chip[data-v-74e1da99]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-74e1da99],.bb-summary[data-v-aa4edcb0]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.chip[data-v-aa4edcb0]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.media-tool[data-v-04192531]{display:inline-flex;flex-direction:column;gap:6px;max-width:320px}.media-title[data-v-04192531]{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-image-button[data-v-04192531]{padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-image[data-v-04192531]{display:block;max-width:100%;border-radius:var(--radius-md);background:var(--media-alpha-canvas)}.media-video[data-v-04192531],.media-audio[data-v-04192531]{max-width:100%;border-radius:var(--radius-md)}.media-video-button[data-v-04192531]{position:relative;display:inline-flex;padding:0;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);overflow:hidden}.media-video-button .media-video[data-v-04192531]{display:block;max-width:320px}.media-play-badge[data-v-04192531]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--color-surface-raised);background:#0d111773;opacity:.9;transition:opacity .12s ease;pointer-events:none}.media-video-button:hover .media-play-badge[data-v-04192531]{opacity:.7}.chip[data-v-c851b016]{color:var(--color-text-muted);font-size:var(--text-xs);flex:none}.bb-summary[data-v-c851b016]{color:var(--color-text);border-bottom:1px dashed var(--color-line);padding-bottom:6px;margin-bottom:6px;word-break:break-all}.plan-path[data-v-c851b016]{display:block;width:100%;margin-bottom:var(--space-2);padding:0;border:none;background:none;color:var(--color-accent);font:var(--text-xs) var(--font-mono);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.plan-path[data-v-c851b016]:hover{color:var(--color-accent-hover);text-decoration:underline}.plan-body[data-v-c851b016]{font:var(--text-base)/var(--leading-normal) var(--font-ui);white-space:normal;max-height:50vh;overflow-y:auto}.plan-review[data-v-c851b016]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2);font:var(--text-xs) var(--font-ui)}.plan-state[data-v-c851b016]{color:var(--color-text-muted);font-weight:var(--weight-medium)}.plan-option[data-v-c851b016]{color:var(--color-accent)}.plan-feedback[data-v-c851b016]{color:var(--color-text-muted)}.plan-loading[data-v-c851b016],.plan-empty[data-v-c851b016]{margin-top:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-style:italic}.swarm-card[data-v-4b58e128]{margin:0;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-base) var(--ease-out)}.swarm-card.err[data-v-4b58e128]{border-color:color-mix(in srgb,var(--color-danger) 25%,var(--bg))}.head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.head[data-v-4b58e128]:hover,.swarm-card.open>.head[data-v-4b58e128]{background:var(--color-surface-sunken);color:var(--color-text)}.swarm-card.err>.head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-danger) 4%,var(--bg))}.swarm-card.err>.head[data-v-4b58e128]:hover{background:color-mix(in srgb,var(--color-danger) 7%,var(--bg))}.head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.ic[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.title[data-v-4b58e128]{font-weight:var(--weight-medium);color:var(--color-text);flex:none}.meta[data-v-4b58e128]{color:var(--color-text-faint);flex:none}.sum-txt[data-v-4b58e128]{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.rt[data-v-4b58e128]{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none;color:var(--color-text-muted);font-size:var(--text-xs)}.status[data-v-4b58e128]{display:inline-flex;align-items:center;flex:none}.status[data-v-4b58e128]:has(>svg){color:var(--color-success)}.err .status[data-v-4b58e128]:has(>svg){color:var(--color-danger)}.chip[data-v-4b58e128]{color:var(--color-text-muted);font-family:var(--font-mono)}.tm[data-v-4b58e128]{color:var(--color-text-faint);font-family:var(--font-mono)}.car[data-v-4b58e128]{margin-left:2px;color:var(--color-text-faint);flex:none}.body[data-v-4b58e128]{border-top:1px solid var(--color-line);background:var(--color-surface-sunken)}.overview[data-v-4b58e128]{padding:9px 11px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.overview-line[data-v-4b58e128]{display:flex;align-items:baseline;gap:8px}.big[data-v-4b58e128]{font-family:var(--font-mono);font-weight:var(--weight-medium);color:var(--color-text);font-size:15px}.lbl[data-v-4b58e128]{color:var(--color-text-muted);font-size:var(--text-xs)}.seg[data-v-4b58e128]{display:flex;height:5px;border-radius:var(--radius-full);overflow:hidden;margin:8px 0 4px;gap:2px}.seg>span[data-v-4b58e128]{height:100%;border-radius:var(--radius-full);min-width:3px}.s-ok[data-v-4b58e128]{background:var(--color-success)}.s-run[data-v-4b58e128]{background:var(--color-accent)}.s-warn[data-v-4b58e128]{background:var(--color-warning)}.s-fail[data-v-4b58e128]{background:var(--color-danger)}.s-queue[data-v-4b58e128]{background:var(--color-line)}.legend[data-v-4b58e128]{display:flex;flex-wrap:wrap;gap:10px}.legend span[data-v-4b58e128]{display:inline-flex;align-items:center;gap:5px;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.lg-dot[data-v-4b58e128]{width:6px;height:6px;border-radius:var(--radius-full)}.member[data-v-4b58e128]{border-bottom:1px solid color-mix(in srgb,var(--color-line) 70%,transparent)}.member[data-v-4b58e128]:last-child{border-bottom:none}.member-head[data-v-4b58e128]{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.member-head[data-v-4b58e128]:hover,.member.open .member-head[data-v-4b58e128]{background:color-mix(in srgb,var(--color-surface) 55%,var(--bg))}.member-head[data-v-4b58e128]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.row-dot[data-v-4b58e128]{flex:none}.mname[data-v-4b58e128]{flex:none;min-width:0;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--weight-medium);color:var(--color-text)}.mact[data-v-4b58e128]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:var(--text-xs)}.mphase[data-v-4b58e128]{flex:none;margin-left:auto;font:var(--text-xs) var(--font-mono);color:var(--color-text-faint)}.phase-completed .mphase[data-v-4b58e128]{color:var(--color-success)}.phase-failed .mphase[data-v-4b58e128]{color:var(--color-danger)}.phase-working .mphase[data-v-4b58e128]{color:var(--color-accent)}.phase-suspended .mphase[data-v-4b58e128]{color:var(--color-warning)}.mcar[data-v-4b58e128]{margin-left:4px;color:var(--color-text-faint);flex:none}.member-body[data-v-4b58e128]{padding:4px 11px 10px 31px;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.65;white-space:pre-wrap;word-break:break-word}.waiting[data-v-4b58e128]{padding:6px 11px 10px;color:var(--color-text-muted);font-size:var(--text-xs)}.fallback-output[data-v-4b58e128]{padding:9px 11px 10px;color:var(--color-text);font:var(--text-xs)/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word}.tool-group[data-v-37eb334f]{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.tool-group-head[data-v-37eb334f]{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 11px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;user-select:none}.tool-group-head[data-v-37eb334f]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tool-group-head[data-v-37eb334f]:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-accent-soft)}.tg-ic[data-v-37eb334f]{color:var(--color-text-faint);flex:none}.tg-title[data-v-37eb334f]{font-weight:var(--weight-medium);color:var(--color-text)}.tg-meta[data-v-37eb334f]{color:var(--color-text-faint)}.tg-car[data-v-37eb334f]{margin-left:auto;color:var(--color-text-faint);flex:none;transition:transform var(--duration-base) var(--ease-out)}.tool-group.open .tg-car[data-v-37eb334f]{transform:rotate(90deg)}.tool-group-body[data-v-37eb334f]{display:grid;grid-template-rows:minmax(0,0fr);overflow:hidden;transition:grid-template-rows var(--duration-base) var(--ease-out)}.tool-group-body.open[data-v-37eb334f]{grid-template-rows:minmax(0,1fr)}.tool-group-body-inner[data-v-37eb334f]{min-height:0;overflow:hidden;display:flex;flex-direction:column}.md[data-v-9ccdd7fa]{font:400 15px/1.6 var(--font-ui);color:var(--color-text);word-break:break-word}.md[data-v-9ccdd7fa] .markdown-renderer{font:400 15px/1.6 var(--font-ui);color:var(--color-text)}.md[data-v-9ccdd7fa] .markstream-vue,.md[data-v-9ccdd7fa] .markdown-renderer{--code-bg: var(--color-surface-sunken);--code-fg: var(--color-text);--code-border: var(--color-line);--code-header-bg: var(--color-surface);--code-action-fg: var(--color-text-muted);--code-action-hover-fg: var(--color-accent);--markstream-code-fallback-bg: var(--color-surface-sunken);--markstream-code-fallback-fg: var(--color-text);--markstream-code-border-color: var(--color-line);--inline-code-bg: var(--color-surface-sunken);--inline-code-fg: var(--color-fg);--inline-code-border: transparent}.md[data-v-9ccdd7fa] .md-file-link{appearance:none;display:inline;border:0;padding:0;background:transparent;color:var(--color-accent-hover);font:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;cursor:pointer}.md[data-v-9ccdd7fa] .md-file-link:hover{color:var(--color-accent)}.md[data-v-9ccdd7fa] .markdown-renderer p,.md[data-v-9ccdd7fa] .markdown-renderer li,.md[data-v-9ccdd7fa] .markdown-renderer blockquote,.md[data-v-9ccdd7fa] .markdown-renderer td,.md[data-v-9ccdd7fa] .markdown-renderer th{font-size:var(--content-font-size)}.md[data-v-9ccdd7fa] .markdown-renderer img{background:var(--media-alpha-canvas)}.md[data-v-9ccdd7fa] strong{color:color-mix(in srgb,var(--color-text) 86%,var(--color-text-muted));font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] h1,.md[data-v-9ccdd7fa] h2,.md[data-v-9ccdd7fa] h3,.md[data-v-9ccdd7fa] h4{color:var(--color-text);font-optical-sizing:auto;font-weight:var(--weight-semibold);margin:.85em 0 .35em;line-height:var(--leading-tight)}.md[data-v-9ccdd7fa] h1{font-size:max(var(--text-xl),calc(var(--content-font-size) + 3px));border-bottom:1px solid var(--color-line);padding-bottom:4px}.md[data-v-9ccdd7fa] h2{font-size:max(var(--text-lg),calc(var(--content-font-size) + 2px))}.md[data-v-9ccdd7fa] h3{font-size:max(var(--text-lg),calc(var(--content-font-size) + 1px))}.md[data-v-9ccdd7fa] h4{font-size:max(var(--text-base),calc(var(--content-font-size) + 1px));color:var(--color-text-muted)}.md[data-v-9ccdd7fa] p{margin:.8rem 0}.md[data-v-9ccdd7fa] .node-slot+.node-slot{margin-top:.8rem}.md[data-v-9ccdd7fa] ul,.md[data-v-9ccdd7fa] ol{padding-left:1.4em;margin:.6em 0}.md[data-v-9ccdd7fa] li{margin:.3em 0}.md[data-v-9ccdd7fa] :not(pre)>code,.md[data-v-9ccdd7fa] .inline-code{font:.9em var(--font-mono);background:var(--color-surface-sunken);color:var(--color-fg);padding:0 4px;border-radius:var(--radius-sm)}.md[data-v-9ccdd7fa] strong code,.md[data-v-9ccdd7fa] strong .inline-code,.md[data-v-9ccdd7fa] b code,.md[data-v-9ccdd7fa] b .inline-code{font-weight:var(--weight-semibold)}.md[data-v-9ccdd7fa] .code-block-container{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden;--vscode-editor-font-size: var(--text-sm);--vscode-editor-line-height: calc(var(--text-sm) * 1.65)}.md[data-v-9ccdd7fa] .code-block-header{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:4px 12px;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-header *{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-header .code-header-main{font-family:var(--font-ui)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn{color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn:hover{background:var(--color-surface-sunken);color:var(--color-text)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.md[data-v-9ccdd7fa] .code-block-header .code-action-btn *{pointer-events:none}.md[data-v-9ccdd7fa] .code-block-shell-content,.md[data-v-9ccdd7fa] .markstream-pre{background:var(--color-surface-sunken)}.md[data-v-9ccdd7fa] .code-editor-container{line-height:1.65;--diffs-gap-block: var(--space-3)}.md[data-v-9ccdd7fa] .code-editor-container diffs-container{--diffs-line-height: 1.65em}.md[data-v-9ccdd7fa] .code-pre-fallback>.markstream-pre__line-numbers{display:none}.md[data-v-9ccdd7fa] .code-block-container .code-pre-fallback{padding-left:1ch;line-height:1.65!important}.md[data-v-9ccdd7fa] .code-block-container pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers),.md[data-v-9ccdd7fa] .markstream-pre:not(.code-pre-fallback):not(.markstream-pre--line-numbers){margin:0;padding:12px 14px;overflow-x:auto;font:var(--text-sm)/1.65 var(--font-mono)}.md[data-v-9ccdd7fa] .code-block-container pre code{font:inherit;color:var(--color-text);background:none;border:none;padding:0;border-radius:0}.md[data-v-9ccdd7fa] .markstream-pre,.md[data-v-9ccdd7fa] .code-pre-fallback,.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki),.md[data-v-9ccdd7fa] .code-block-shell-content pre:not(.shiki) code{color:var(--color-text)}.md[data-v-9ccdd7fa] a{color:var(--color-accent);text-decoration:none}.md[data-v-9ccdd7fa] a:hover{text-decoration:underline}.md[data-v-9ccdd7fa] .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;margin:.6em 0}.md[data-v-9ccdd7fa] blockquote{margin:.5em 0;padding:4px 12px;border-left:3px solid var(--color-line);color:var(--color-text-muted)}.md[data-v-9ccdd7fa] hr{border:none;border-top:1px solid var(--color-line);margin:.8em 0}.md[data-v-9ccdd7fa] table:not(.table-node){border-collapse:collapse;font-size:var(--text-lg);margin:.5em 0}.md[data-v-9ccdd7fa] table:not(.table-node) th,.md[data-v-9ccdd7fa] table:not(.table-node) td{border:1px solid var(--color-line);padding:4px 10px;text-align:left}.md[data-v-9ccdd7fa] table:not(.table-node) th{background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium)}.md[data-v-9ccdd7fa] .table-node-wrapper{width:100%;max-width:100%!important;min-width:0;overflow-x:auto!important}.md[data-v-9ccdd7fa] .table-node{--table-border: var(--color-line);--table-header-bg: var(--color-surface);font-size:var(--text-lg);margin:.5em 0;width:max-content!important;min-width:100%;max-width:none!important;table-layout:auto!important}.md[data-v-9ccdd7fa] .table-node th,.md[data-v-9ccdd7fa] .table-node td{text-align:left;vertical-align:top;max-width:var(--p-table-cell-max)}.md[data-v-9ccdd7fa] .table-node .text-node{display:inline-block;max-width:var(--p-table-cell-max);vertical-align:top}.md[data-v-9ccdd7fa] .table-node tbody tr:hover{background-color:transparent!important}.diff-wrap[data-v-9ccdd7fa]{margin:.6em 0;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);box-shadow:var(--shadow-xs);overflow:hidden}.diff-bar[data-v-9ccdd7fa]{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--color-surface);border-bottom:1px solid var(--color-line);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono)}.diff-lang[data-v-9ccdd7fa]{margin-right:auto}.diff-copy[data-v-9ccdd7fa]{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:2px 6px;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.diff-copy[data-v-9ccdd7fa]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.diff-copy[data-v-9ccdd7fa]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.diff-pre[data-v-9ccdd7fa]{margin:0;padding:12px 0;overflow-x:auto;background:var(--color-surface-sunken)}.diff-pre code[data-v-9ccdd7fa]{display:block;width:max-content;min-width:100%;font:var(--text-sm)/1.65 var(--font-mono);color:var(--color-text)}.diff-line[data-v-9ccdd7fa]{display:block;width:100%;padding:0 14px}.diff-sign[data-v-9ccdd7fa]{display:inline-block;width:14px;text-align:center;color:var(--color-text-muted);user-select:none}.diff-text[data-v-9ccdd7fa]{color:var(--color-text)}.diff-add[data-v-9ccdd7fa]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.diff-add .diff-sign[data-v-9ccdd7fa]{color:var(--color-success)}.diff-del[data-v-9ccdd7fa]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.diff-del .diff-sign[data-v-9ccdd7fa]{color:var(--color-danger)}.diff-hunk[data-v-9ccdd7fa]{background:var(--color-surface)}.diff-hunk .diff-text[data-v-9ccdd7fa]{color:var(--color-text-muted)}.md[data-v-9ccdd7fa],.md .markdown-renderer[data-v-9ccdd7fa]{font-family:var(--sans)}.md .code-block-container[data-v-9ccdd7fa],.md .diff-wrap[data-v-9ccdd7fa]{border-radius:var(--radius-md)}.md :not(pre)>code[data-v-9ccdd7fa],.md .inline-code[data-v-9ccdd7fa]{border-radius:var(--radius-sm)}.think[data-v-0b3b873f]{margin:0}.tc-wrap[data-v-0b3b873f]{display:grid;grid-template-rows:1fr 0fr;transition:grid-template-rows var(--duration-slow) var(--ease-out);cursor:pointer}.tc-wrap.is-collapsed[data-v-0b3b873f]{grid-template-rows:0fr 1fr}.tc-anim[data-v-0b3b873f],.prev-anim[data-v-0b3b873f]{overflow:hidden;min-height:0}.tc-wrap.is-collapsed:hover .prev[data-v-0b3b873f]{color:var(--color-text)}.tc-wrap:not(.is-collapsed):hover .tc[data-v-0b3b873f]{color:var(--color-text-muted)}.prev[data-v-0b3b873f]{color:var(--color-text-faint);font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);white-space:pre-wrap;word-break:break-word;display:block}.tc[data-v-0b3b873f]{font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;margin:0;max-height:calc(var(--leading-relaxed) * 1em * 5);overflow-y:auto}.mob[data-v-0b3b873f]{margin:0}.mob .tc[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal);max-height:calc(var(--leading-normal) * 1em * 5)}.mob .prev[data-v-0b3b873f]{color:var(--color-text-faint);line-height:var(--leading-normal)}.activity-notice[data-v-0d497074]{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin:0;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.msg-time[data-v-9672fbd5]{display:inline-flex;align-items:center;min-height:22px;box-sizing:border-box;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;white-space:nowrap}.msg-time[data-v-9672fbd5]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.cn[data-v-a62a6587]{margin:0;align-self:flex-end;max-width:78%;display:flex;flex-direction:column;align-items:flex-end}.cn-bubble[data-v-a62a6587]{box-sizing:border-box;max-width:100%;padding:8px 14px;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);box-shadow:var(--shadow-xs);color:var(--color-text);font-size:var(--content-font-size);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.cn-title[data-v-a62a6587]{font-weight:var(--weight-medium)}.cn-meta[data-v-a62a6587]{display:flex;align-items:center;gap:6px;margin-top:4px;padding:0 4px;color:var(--color-text-faint);font-size:var(--text-base);line-height:var(--leading-normal)}.cn-meta-ico[data-v-a62a6587]{flex:none;color:var(--color-text-faint)}.cn-meta-item[data-v-a62a6587]{white-space:nowrap}.cn-status[data-v-a62a6587]{display:inline-flex;align-items:center}.cn-status.ok[data-v-a62a6587]{color:var(--color-success)}.cn-status.error[data-v-a62a6587]{color:var(--color-danger)}.att-chip[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 9px 4px 5px;background:var(--color-bg);border:1px solid var(--color-line);border-radius:999px;font-size:var(--ui-font-size-sm);transition:border-color var(--duration-fast) ease}.att-chip[data-v-12ec975b]:hover{border-color:var(--color-line-strong)}.att-activate[data-v-12ec975b]{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.att-activate[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:999px}.att-tile[data-v-12ec975b]{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted);background:var(--color-surface-sunken)}.att-tile[data-v-12ec975b] .att-thumb{width:100%;height:100%;object-fit:cover;display:block}.att-name[data-v-12ec975b]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-weight:var(--weight-medium)}.att-chip.is-error[data-v-12ec975b]{border-color:var(--color-danger-bd)}.att-chip.is-error .att-err[data-v-12ec975b]{flex:none;display:flex;align-items:center;color:var(--color-danger)}.att-rm[data-v-12ec975b]{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-faint);cursor:pointer}.att-rm[data-v-12ec975b]:hover{background:var(--color-hover);color:var(--color-text)}.att-rm[data-v-12ec975b]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-moon[data-v-a6b7ec07]{display:inline-block;position:relative;line-height:1;user-select:none;flex:none}.ui-moon--sm[data-v-a6b7ec07]{width:14px;height:14px;font-size:14px}.ui-moon--md[data-v-a6b7ec07]{width:18px;height:18px;font-size:18px}.ui-moon--lg[data-v-a6b7ec07]{width:24px;height:24px;font-size:24px}.ui-moon__frame[data-v-a6b7ec07]{position:absolute;inset:0;display:block;text-align:center;opacity:0;animation-name:ui-moon-frame-a6b7ec07;animation-duration:.96s;animation-timing-function:steps(1,end);animation-iteration-count:infinite;animation-delay:var(--moon-frame-delay)}.ui-moon--fast .ui-moon__frame[data-v-a6b7ec07]{animation-duration:.48s;animation-delay:var(--moon-frame-fast-delay)}@keyframes ui-moon-frame-a6b7ec07{0%,12.49%{opacity:1}12.5%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.ui-moon__frame[data-v-a6b7ec07]{animation:none;opacity:0}.ui-moon__frame[data-v-a6b7ec07]:nth-child(4){opacity:1}}.ui-banner[data-v-b0afda1c]{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal)}.ui-banner__icon[data-v-b0afda1c]{display:inline-flex;flex:none}.ui-banner__icon svg[data-v-b0afda1c]{width:18px;height:18px}.ui-banner--info[data-v-b0afda1c]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.ui-banner--warning[data-v-b0afda1c]{background:var(--color-warning-soft);border-color:var(--color-warning-bd)}.ui-banner--danger[data-v-b0afda1c]{background:var(--color-danger-soft);border-color:var(--color-danger-bd)}.ui-banner--info .ui-banner__icon[data-v-b0afda1c]{color:var(--color-accent)}.ui-banner--warning .ui-banner__icon[data-v-b0afda1c]{color:var(--color-warning)}.ui-banner--danger .ui-banner__icon[data-v-b0afda1c]{color:var(--color-danger)}.ui-button[data-v-556ea0b6]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:var(--weight-medium);line-height:1;cursor:pointer;white-space:nowrap;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.ui-button[data-v-556ea0b6]:focus-visible{outline:none;box-shadow:var(--p-focus-ring-strong)}.ui-button[data-v-556ea0b6]:not(:disabled):active{transform:scale(.98)}.ui-button[data-v-556ea0b6]:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.ui-button--sm[data-v-556ea0b6]{height:30px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-button--md[data-v-556ea0b6]{height:36px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-button--lg[data-v-556ea0b6]{height:42px;padding:0 var(--space-5);font-size:15px;border-radius:var(--radius-lg)}.ui-button__content[data-v-556ea0b6]{display:inline-flex;align-items:center;gap:var(--space-2)}.ui-button__content[data-v-556ea0b6] svg{flex:none}.ui-button__content[data-v-556ea0b6] svg:not([width]){width:1em;height:1em}.ui-button--primary[data-v-556ea0b6]{background:var(--color-accent);color:var(--color-text-on-accent);border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.ui-button--primary[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-button--secondary[data-v-556ea0b6]{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-line-strong);box-shadow:var(--shadow-xs)}.ui-button--secondary[data-v-556ea0b6]:not(:disabled):hover{border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ui-button--ghost[data-v-556ea0b6]{background:transparent;color:var(--color-text-muted);border-color:transparent}.ui-button--ghost[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-surface-sunken);color:var(--color-text)}.ui-button--danger[data-v-556ea0b6]{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger);box-shadow:var(--shadow-xs)}.ui-button--danger[data-v-556ea0b6]:not(:disabled):hover{filter:brightness(.96)}.ui-button--danger-soft[data-v-556ea0b6]{background:var(--color-danger-soft);color:var(--color-danger);border-color:var(--color-danger-bd)}.ui-button--danger-soft[data-v-556ea0b6]:not(:disabled):hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.ui-button.is-loading .ui-button__content[data-v-556ea0b6]{opacity:.7}.ui-button .ui-button__spinner[data-v-556ea0b6]{flex:none;color:inherit}.ui-button__spinner[data-v-556ea0b6] .ui-spinner__track{opacity:.35}.chat-empty[data-v-3ca41c3a]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;color:var(--faint);text-align:center}.chat-empty-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat-loading[data-v-3ca41c3a]{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px 16px;color:var(--muted)}.chat-loading-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat[data-v-3ca41c3a]{--chat-turn-gap: 16px;--chat-block-gap: 10px;--chat-section-gap: 18px;display:flex;flex-direction:column;gap:0;padding:16px 14px 20px;flex:1;min-height:0;position:relative}.chat .chat-empty[data-v-3ca41c3a]{align-self:stretch}.open-unsupported[data-v-3ca41c3a]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);max-width:min(90%,480px);padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-line);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;z-index:1}.chat>.u-turn[data-v-3ca41c3a],.chat>.a-msg[data-v-3ca41c3a],.chat>.compact-divider[data-v-3ca41c3a],.chat>.cron-notice[data-v-3ca41c3a],.chat>.sending-placeholder[data-v-3ca41c3a],.chat[data-v-3ca41c3a]>.activity-notice{margin-top:var(--chat-turn-gap)}.chat>.a-msg[data-v-3ca41c3a]{margin-top:10px}.chat>.u-turn[data-v-3ca41c3a]:first-child,.chat>.a-msg[data-v-3ca41c3a]:first-child,.chat>.compact-divider[data-v-3ca41c3a]:first-child,.chat>.cron-notice[data-v-3ca41c3a]:first-child,.chat>.sending-placeholder[data-v-3ca41c3a]:first-child,.chat[data-v-3ca41c3a]>.activity-notice:first-child{margin-top:0}.u-turn[data-v-3ca41c3a]{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-start;width:100%}.u-bub[data-v-3ca41c3a]{align-self:flex-end;max-width:78%;background:var(--color-accent-soft);border:1px solid var(--color-accent-bd);color:var(--color-text);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;font-size:var(--content-font-size);line-height:var(--leading-normal);box-shadow:var(--shadow-xs)}.u-meta[data-v-3ca41c3a]{align-self:flex-end;display:flex;justify-content:flex-end;align-items:center;max-width:78%;margin-top:2px;margin-right:4px}.u-meta .u-edit[data-v-3ca41c3a]{min-height:22px;box-sizing:border-box}.u-text[data-v-3ca41c3a]{white-space:pre-wrap;overflow-wrap:anywhere}.u-edit[data-v-3ca41c3a]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s}.u-edit svg[data-v-3ca41c3a]{display:block;flex:none}.u-edit[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-copy[data-v-3ca41c3a]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.u-copy svg[data-v-3ca41c3a]{display:block;flex:none}.u-copy[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.u-edit-wrap[data-v-3ca41c3a]{display:flex;justify-content:flex-end}.chat>.u-edit-wrap[data-v-3ca41c3a]{margin-top:4px}.chat>.u-edit-wrap+.a-msg[data-v-3ca41c3a]{margin-top:8px}.compact-divider[data-v-3ca41c3a]{display:flex;align-items:center;gap:10px;align-self:stretch;width:100%;margin:var(--chat-section-gap) 0 0}.chat>.compact-divider[data-v-3ca41c3a]:first-child{margin-top:0}.cd-line[data-v-3ca41c3a]{flex:1;height:1px;background:var(--line)}.cd-label[data-v-3ca41c3a]{flex:none;display:inline-flex;align-items:center;gap:8px;max-width:80%;font-size:var(--text-base);color:var(--muted);white-space:nowrap}.cd-btn[data-v-3ca41c3a]{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--text-base);color:var(--muted)}.cd-view[data-v-3ca41c3a]{color:var(--color-accent)}.cd-btn:hover .cd-view[data-v-3ca41c3a]{text-decoration:underline}.a-msg[data-v-3ca41c3a]{align-self:flex-start;max-width:94%;width:94%}.a-msg-ft[data-v-3ca41c3a]{display:flex;justify-content:flex-start;align-items:center;gap:8px;height:auto;margin-top:var(--chat-block-gap);overflow:visible}.a-cpbtn[data-v-3ca41c3a]{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;background:none;border:none;border-radius:var(--radius-sm);color:var(--muted);font:inherit;font-size:var(--text-base);line-height:1;cursor:pointer;opacity:.7;transition:opacity .12s,color .12s,background-color .12s;min-height:22px;box-sizing:border-box}.a-cpbtn[data-v-3ca41c3a]:hover{opacity:1;color:var(--color-accent);background:var(--hover)}.a-cpbtn svg[data-v-3ca41c3a]{display:block;flex:none}@media(hover:none){.a-msg-ft[data-v-3ca41c3a]{height:auto;margin-top:var(--chat-block-gap);opacity:1;pointer-events:auto}.a-cpbtn[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm);padding:8px 10px;margin:-4px -6px}}.a-msg .msg[data-v-3ca41c3a]{font-size:var(--ui-font-size);line-height:1.6;color:var(--color-text);font-weight:500}.a-msg .msg[data-v-3ca41c3a] p{margin:0}.a-msg .msg[data-v-3ca41c3a] p+p{margin-top:8px}.a-msg>.msg[data-v-3ca41c3a],.a-msg[data-v-3ca41c3a]>.think,.a-msg[data-v-3ca41c3a]>.tool-group,.a-msg[data-v-3ca41c3a]>.agent-card,.a-msg[data-v-3ca41c3a]>.agent-group,.a-msg[data-v-3ca41c3a]>.box,.a-msg[data-v-3ca41c3a]>.swarm-card,.a-msg[data-v-3ca41c3a]>.media-tool,.a-msg[data-v-3ca41c3a]>.ui-banner{margin-top:var(--chat-block-gap)}.a-msg>.msg[data-v-3ca41c3a]:first-child,.a-msg[data-v-3ca41c3a]>.think:first-child,.a-msg[data-v-3ca41c3a]>.tool-group:first-child,.a-msg[data-v-3ca41c3a]>.agent-card:first-child,.a-msg[data-v-3ca41c3a]>.agent-group:first-child,.a-msg[data-v-3ca41c3a]>.box:first-child,.a-msg[data-v-3ca41c3a]>.swarm-card:first-child,.a-msg[data-v-3ca41c3a]>.media-tool:first-child,.a-msg[data-v-3ca41c3a]>.ui-banner:first-child{margin-top:0}.a-msg[data-v-3ca41c3a] code{font:.9em var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1px 6px;color:var(--color-accent-hover)}@container (min-width: 760px){.a-msg .msg[data-v-3ca41c3a] .markstream-vue.markdown-renderer:has(.table-node-wrapper){content-visibility:visible}.a-msg .msg[data-v-3ca41c3a] .table-node-wrapper{position:relative;left:50%;width:max-content;min-width:100%;max-width:min(var(--p-table-max),calc(100cqi - var(--space-5) - var(--space-5)))!important;transform:translate(-50%)}}.u-atts[data-v-3ca41c3a]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.sending-placeholder[data-v-3ca41c3a]{align-self:flex-start;padding:10px 0}.turn-error[data-v-3ca41c3a]{flex-wrap:wrap}.turn-error-text[data-v-3ca41c3a]{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.turn-error-resume[data-v-3ca41c3a]{margin-left:auto;flex:none}.skill-act[data-v-3ca41c3a]{display:flex;flex-direction:column;gap:2px}.skill-act-head[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm);font-weight:500;color:var(--color-accent-hover);display:flex;align-items:center;gap:6px}.skill-act-arrow[data-v-3ca41c3a]{color:var(--color-accent);font-size:var(--text-base)}.skill-act-args[data-v-3ca41c3a]{font-size:var(--text-base);color:var(--muted);padding-left:17px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:640px){.chat[data-v-3ca41c3a]{box-sizing:border-box;width:100%;padding:14px max(12px,var(--safe-right)) 18px max(12px,var(--safe-left))}.u-bub[data-v-3ca41c3a]{max-width:min(88%,calc(100vw - 52px))}.a-msg[data-v-3ca41c3a]{width:100%;max-width:100%}.u-bub .u-text[data-v-3ca41c3a],.a-msg .msg[data-v-3ca41c3a]{font-size:var(--ui-font-size-xl)}.a-msg[data-v-3ca41c3a] .md,.a-msg[data-v-3ca41c3a] .markdown-renderer,.a-msg[data-v-3ca41c3a] .code-block-container,.a-msg[data-v-3ca41c3a] .diff-wrap,.a-msg[data-v-3ca41c3a] pre{max-width:100%}.a-msg[data-v-3ca41c3a] .code-block-container pre,.a-msg[data-v-3ca41c3a] .diff-pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.a-msg[data-v-3ca41c3a] .media-tool.mob{width:min(44vw,160px)}.cd-label[data-v-3ca41c3a]{min-width:0;max-width:calc(100% - 48px);overflow:hidden;text-overflow:ellipsis}.u-edit-confirm[data-v-3ca41c3a]{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100vw - 28px)}.ts[data-v-3ca41c3a]{font-size:var(--ui-font-size-sm)}.chat-empty-text[data-v-3ca41c3a],.chat-loading-text[data-v-3ca41c3a]{font-size:var(--ui-font-size-lg)}.cd-label[data-v-3ca41c3a],.cd-btn[data-v-3ca41c3a]{font-size:var(--ui-font-size)}}.top-sentinel[data-v-3ca41c3a]{display:flex;align-items:center;justify-content:center;padding:12px 0;min-height:28px}.top-sentinel-loading[data-v-3ca41c3a]{opacity:.8}.top-sentinel-btn[data-v-3ca41c3a]{appearance:none;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:var(--ui-font-size-sm);padding:4px 12px;border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.top-sentinel-btn[data-v-3ca41c3a]:hover{color:var(--fg);border-color:var(--fg)}.top-sentinel-text[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--ui-font-size-sm)}.chat[data-v-3ca41c3a]{background:transparent}.chat[data-v-3ca41c3a]{gap:0;padding:22px 20px 26px}.u-bub[data-v-3ca41c3a]{background:var(--color-accent-soft);border-color:var(--color-accent-bd);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);padding:11px 15px;box-shadow:var(--shc)}.a-msg[data-v-3ca41c3a]{max-width:100%;width:100%}.chat>.q-stack[data-v-3ca41c3a]{margin-top:var(--chat-turn-gap)}.chat>.q-stack[data-v-3ca41c3a]:first-child{margin-top:0}.q-stack[data-v-3ca41c3a]{align-self:flex-end;width:100%;display:flex;flex-direction:column;gap:8px}.q-head[data-v-3ca41c3a]{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 6px;color:var(--color-text-faint);font-size:var(--ui-font-size-xs)}.q-title[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:6px}.q-title b[data-v-3ca41c3a]{color:var(--color-accent-hover);font-weight:var(--weight-medium)}.q-hint[data-v-3ca41c3a]{color:var(--color-text-faint)}.q-turn[data-v-3ca41c3a]{position:relative}.q-bub[data-v-3ca41c3a]{display:flex;align-items:center;gap:8px;width:fit-content;background:var(--color-surface-raised);border:1px dashed var(--color-accent-bd);padding:8px 8px 8px 6px;transition:border-color .12s ease,background .12s ease}.q-bub[data-v-3ca41c3a]:hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.q-grip[data-v-3ca41c3a]{flex:none;display:inline-flex;align-items:center;padding:2px;color:var(--color-text-faint);cursor:grab;opacity:.7}.q-grip[data-v-3ca41c3a]:hover{opacity:1}.q-grip[data-v-3ca41c3a]:active{cursor:grabbing}.q-body[data-v-3ca41c3a]{flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:var(--color-text);text-align:left;cursor:pointer;opacity:.82}.q-bub:hover .q-body[data-v-3ca41c3a]{opacity:1}.q-body[data-v-3ca41c3a]:disabled{cursor:default}.q-text[data-v-3ca41c3a]{white-space:pre-wrap;overflow-wrap:anywhere}.q-text-placeholder[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted)}.q-imgs[data-v-3ca41c3a]{display:flex;gap:4px;flex:none}.q-img[data-v-3ca41c3a]{width:28px;height:28px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-line)}.q-file[data-v-3ca41c3a]{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 6px;border-radius:var(--radius-sm);border:1px solid var(--color-line);color:var(--color-text-muted);font-size:calc(var(--ui-font-size) - 3px);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-tag[data-v-3ca41c3a]{flex:none;padding:1px 6px;border-radius:var(--radius-full);font-size:var(--ui-font-size-xs);font-weight:var(--weight-medium);line-height:1.4;white-space:nowrap}.q-tag-next[data-v-3ca41c3a]{color:var(--color-accent-hover);background:var(--color-accent-soft);border:1px solid var(--color-accent-bd)}.q-tag-idx[data-v-3ca41c3a]{color:var(--color-text-faint);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.q-steer[data-v-3ca41c3a],.q-rm[data-v-3ca41c3a]{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-faint);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.q-steer[data-v-3ca41c3a]{position:relative;touch-action:manipulation}.q-steer[data-v-3ca41c3a]:after{content:"";position:absolute;inset:-11px}.q-bub:hover .q-steer[data-v-3ca41c3a],.q-bub:focus-within .q-steer[data-v-3ca41c3a],.q-steer[data-v-3ca41c3a]:focus-visible,.q-bub:hover .q-rm[data-v-3ca41c3a],.q-bub:focus-within .q-rm[data-v-3ca41c3a],.q-rm[data-v-3ca41c3a]:focus-visible{opacity:1}.q-steer[data-v-3ca41c3a]:hover{background:var(--color-accent-soft);color:var(--color-accent)}.q-rm[data-v-3ca41c3a]:hover{background:var(--color-danger-soft);color:var(--color-danger)}.q-turn.q-dragging .q-bub[data-v-3ca41c3a]{opacity:.45}.q-turn.drop-before[data-v-3ca41c3a]:before,.q-turn.drop-after[data-v-3ca41c3a]:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--color-accent);border-radius:var(--radius-full);z-index:1}.q-turn.drop-before[data-v-3ca41c3a]:before{top:-5px}.q-turn.drop-after[data-v-3ca41c3a]:after{bottom:-5px}.chat[data-v-3ca41c3a] .chat-search-hit{background:var(--color-accent-soft);border-radius:var(--radius-xs);box-shadow:inset 0 0 0 1px var(--color-accent-bd);padding:0 1px}.chat[data-v-3ca41c3a] .chat-search-hit--active{background:var(--color-accent);color:var(--color-bg);box-shadow:inset 0 0 0 1px var(--color-accent)}.chat-header[data-v-a3848f6a]{flex:none;display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui);min-width:0}.chat-header.macos-desktop[data-v-a3848f6a]{-webkit-app-region:drag}.chat-header.macos-desktop button[data-v-a3848f6a],.chat-header.macos-desktop input[data-v-a3848f6a]{-webkit-app-region:no-drag}.ch-id[data-v-a3848f6a]{display:flex;align-items:center;gap:6px;min-width:0;flex:none;max-width:46%}.ch-ws[data-v-a3848f6a]{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--weight-medium);flex:none}.ch-sep[data-v-a3848f6a]{color:var(--color-text-faint);flex:none}.ch-ses[data-v-a3848f6a]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-rename[data-v-a3848f6a]{flex:1;min-width:0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-xs);padding:2px 5px;outline:none}.ch-git[data-v-a3848f6a]{display:flex;align-items:center;gap:4px;border:none;background:transparent;padding:0;color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);flex:0 1 auto;max-width:none;min-width:0;cursor:pointer}.ch-git:hover .ch-branch[data-v-a3848f6a]{color:var(--color-text)}.ch-branch[data-v-a3848f6a]{color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:4px}.ch-detached[data-v-a3848f6a]{color:var(--muted);font-style:italic}.ch-pill[data-v-a3848f6a]{display:inline-flex;align-items:center;gap:3px;padding:1px 5px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:calc(var(--ui-font-size) - 3px)}.ch-sync-pill[data-v-a3848f6a]{border-color:var(--line)}.ch-diff-pill[data-v-a3848f6a]{border-color:color-mix(in srgb,var(--color-success) 20%,var(--line))}.ch-ahead[data-v-a3848f6a]{color:var(--color-warning);flex:none}.ch-behind[data-v-a3848f6a]{color:var(--color-accent-hover);flex:none}.ch-add[data-v-a3848f6a]{color:var(--color-success);flex:none}.ch-del[data-v-a3848f6a]{color:var(--color-danger);flex:none}.ch-spacer[data-v-a3848f6a]{flex:1;min-width:0}.ch-act-more.open[data-v-a3848f6a],.ch-act-search.active[data-v-a3848f6a]{background:var(--color-surface-sunken);color:var(--color-text)}.ch-pr[data-v-a3848f6a]{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;flex:none;border:1px solid var(--color-line);border-radius:var(--radius-full);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500;cursor:pointer}.ch-pr svg[data-v-a3848f6a]{flex:none}.ch-pr.pr-open[data-v-a3848f6a]{color:var(--color-success);border-color:var(--color-success-bd);background:var(--color-success-soft)}.ch-pr.pr-merged[data-v-a3848f6a]{color:var(--color-done);border-color:var(--color-done-bd);background:var(--color-done-soft)}.ch-pr.pr-closed[data-v-a3848f6a]{color:var(--color-danger);border-color:var(--color-danger-bd);background:var(--color-danger-soft)}.ch-pr.pr-draft[data-v-a3848f6a],.ch-pr.pr-unknown[data-v-a3848f6a]{color:var(--color-text-muted);border-color:var(--color-line-strong);background:var(--color-surface-sunken)}.ch-pr[data-v-a3848f6a]:hover{border-color:var(--color-line-strong)}.ch-menu[data-v-a3848f6a]{position:fixed;top:0;left:0;z-index:var(--z-dropdown)}@media(max-width:980px){.ch-act-label[data-v-a3848f6a]{display:none}}@media(max-width:640px){.chat-header[data-v-a3848f6a]{display:none}}.slash-menu[data-v-3f12a9ed]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.slash-scroller[data-v-3f12a9ed]{position:relative}.slash-list[data-v-3f12a9ed]{max-height:240px;overflow-y:auto}.slash-item[data-v-3f12a9ed]{display:grid;grid-template-columns:minmax(90px,32%) minmax(0,1fr);align-items:start;gap:10px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.slash-item[data-v-3f12a9ed]:hover{background:var(--color-surface-sunken)}.slash-item.active[data-v-3f12a9ed]{background:var(--color-accent-soft)}.slash-item.active .slash-name[data-v-3f12a9ed]{color:var(--color-accent-hover)}.slash-name[data-v-3f12a9ed]{color:var(--color-accent);font-weight:500;min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold)}.slash-desc-match[data-v-3f12a9ed]{font-weight:var(--weight-semibold);color:var(--color-text)}.slash-desc[data-v-3f12a9ed]{color:var(--color-text-muted);font-size:var(--text-xs);min-width:0;line-height:var(--leading-normal);overflow-wrap:anywhere}.slash-empty[data-v-3f12a9ed]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted)}.menu-scroll-thumb[data-v-3f12a9ed]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-3f12a9ed]:hover,.menu-scroll-thumb[data-v-3f12a9ed]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-3f12a9ed]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-3f12a9ed]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-3f12a9ed]{bottom:var(--space-1);background:var(--menu-fade-bottom)}@media(max-width:520px){.slash-item[data-v-3f12a9ed]{grid-template-columns:minmax(0,1fr);gap:2px}}.slash-menu[data-v-3f12a9ed]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.slash-desc[data-v-3f12a9ed]{font-family:var(--sans)}.mention-menu[data-v-b8578b17]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);--menu-scrollbar-track-inset: 4px;--menu-scrollbar-thumb-min: 24px;--menu-fade-top: linear-gradient(to bottom, var(--color-surface-raised) 0%, transparent 100%);--menu-fade-bottom: linear-gradient(to top, var(--color-surface-raised) 0%, transparent 100%)}.mention-scroller[data-v-b8578b17]{position:relative}.mention-list[data-v-b8578b17]{max-height:220px;overflow-y:auto}.mention-state[data-v-b8578b17]{padding:8px 12px;font-family:var(--font-ui);font-size:var(--text-sm)}.dim[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);border-radius:var(--radius-sm)}.mention-icon[data-v-b8578b17]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--color-text-faint);flex-shrink:0}.mention-icon[data-v-b8578b17] svg{width:13px;height:13px;display:block}.mention-item:hover .mention-icon[data-v-b8578b17],.mention-item.active .mention-icon[data-v-b8578b17]{color:var(--color-text-muted)}.mention-item[data-v-b8578b17]:hover{background:var(--color-surface-sunken)}.mention-item.active[data-v-b8578b17]{background:var(--color-accent-soft)}.mention-name[data-v-b8578b17]{color:var(--color-text);font-weight:500;min-width:80px;flex-shrink:0}.mention-path[data-v-b8578b17]{color:var(--color-text-muted);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-scroll-thumb[data-v-b8578b17]{position:absolute;right:2px;width:4px;border-radius:var(--radius-xs);background:var(--color-line-strong);cursor:pointer;touch-action:none;transition:background var(--duration-fast) ease}.menu-scroll-thumb[data-v-b8578b17]:hover,.menu-scroll-thumb[data-v-b8578b17]:active{background:var(--color-text-faint)}.menu-scroll-fade[data-v-b8578b17]{position:absolute;left:0;right:0;height:12px;pointer-events:none;transition:opacity var(--duration-fast) ease}.menu-scroll-fade-top[data-v-b8578b17]{top:var(--space-1);background:var(--menu-fade-top)}.menu-scroll-fade-bottom[data-v-b8578b17]{bottom:var(--space-1);background:var(--menu-fade-bottom)}.mention-menu[data-v-b8578b17]{border-radius:var(--radius-lg);box-shadow:var(--sh)}.mention-state[data-v-b8578b17]{font-family:var(--sans)}.ctx-ring[data-v-a364f1f1]{width:16px;height:16px;flex:none;transform:rotate(-90deg)}.ctx-ring-track[data-v-a364f1f1]{stroke:var(--line)}.ctx-ring-fill[data-v-a364f1f1]{stroke:var(--color-accent);transition:stroke-dashoffset .3s ease,stroke .3s ease}.composer[data-v-e7022649]{padding:7px var(--dock-inline-right, 16px) 12px var(--dock-inline-left, 16px);background:transparent;transition:background .12s}.composer.drag-over[data-v-e7022649]{background:var(--color-accent-soft)}.drop-overlay[data-v-e7022649]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 72%,transparent);pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-base) ease,visibility var(--duration-base)}.drop-overlay.show[data-v-e7022649]{opacity:1;visibility:visible}.drop-card[data-v-e7022649]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);border:1.5px dashed var(--color-accent);background:var(--color-bg);color:var(--color-accent);font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);box-shadow:var(--shadow-md)}.composer-card[data-v-e7022649]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);position:relative;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--bg);box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s}.composer-card[data-v-e7022649]:focus-within{border-color:var(--color-accent);box-shadow:var(--shadow-md),0 0 0 3px var(--color-accent-soft)}.att-strip[data-v-e7022649]{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0 6px}.att-lightbox[data-v-e7022649]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:24px;background:#14171c9e}.att-lightbox-card[data-v-e7022649]{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(960px,calc(100vw - 48px));max-height:calc(100vh - 48px)}.att-lightbox-media[data-v-e7022649]{max-width:100%;max-height:calc(100vh - 96px);border-radius:6px;background:var(--bg);box-shadow:var(--shadow-xl);object-fit:contain}.att-lightbox-name[data-v-e7022649]{max-width:100%;color:var(--surface-light);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-lightbox-close[data-v-e7022649]{position:absolute;top:-14px;right:-14px;width:28px;height:28px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#14171cd1;color:var(--surface-light);cursor:pointer}.file-input-hidden[data-v-e7022649]{display:none}.cin-wrap[data-v-e7022649]{position:relative;padding:14px 16px 8px}.input-row[data-v-e7022649]{position:relative;display:flex;align-items:flex-start;gap:var(--space-2)}.expand-btn[data-v-e7022649]{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--dim);cursor:pointer;padding:0;transition:background .12s,color .12s}.expand-btn[data-v-e7022649]:hover{background:var(--panel2);color:var(--color-text)}.expand-btn[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ph[data-v-e7022649]{color:var(--faint);caret-color:var(--color-text);flex:1;border:none;outline:none;resize:none;font-family:var(--font-ui);font-size:var(--content-font-size);background:transparent;min-height:36px;max-height:25vh;overflow-y:auto;line-height:1.5;margin-bottom:6px}.ph[data-v-e7022649]::placeholder{color:var(--muted)}.ph[data-v-e7022649]:not(:placeholder-shown){color:var(--color-text)}.composer.expanded .ph[data-v-e7022649]{min-height:70vh;max-height:70vh}.compact-chip[data-v-e7022649]{background:none;border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--color-warning);font-family:var(--mono);font-size:var(--ui-font-size);padding:0 4px;cursor:pointer;height:19px;line-height:17px;flex:none}.compact-chip[data-v-e7022649]:hover{background:var(--panel2)}.send[data-v-e7022649]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-accent);color:var(--color-text-on-accent);border:none;box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .25s ease,transform .12s ease;position:relative}.send[data-v-e7022649]:hover{background:var(--color-accent-hover)}.send[data-v-e7022649]:active{transform:scale(.92)}.send[data-v-e7022649]:disabled{cursor:not-allowed;opacity:.88}.send[data-v-e7022649]:disabled:active{transform:none}.send.is-starting[data-v-e7022649] .ui-spinner{color:var(--color-text-on-accent)}.send.is-starting[data-v-e7022649] .ui-spinner__track{stroke:color-mix(in srgb,var(--color-text-on-accent) 32%,transparent)}.send svg[data-v-e7022649]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.stop[data-v-e7022649]{width:var(--composer-send-size);height:var(--composer-send-size);border-radius:50%;background:var(--color-danger-soft);color:var(--color-danger);border:1px solid var(--color-danger-bd);box-shadow:var(--shadow-xs);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-left:var(--space-2);transition:background .16s ease,color .16s ease,border-color .16s ease,transform .12s ease}.stop[data-v-e7022649]:hover{background:var(--color-danger);color:var(--surface-light);border-color:var(--color-danger)}.stop[data-v-e7022649]:active{transform:scale(.92)}.stop svg[data-v-e7022649]{flex:none;width:var(--p-ic-lg);height:var(--p-ic-lg)}.toolbar[data-v-e7022649]{display:flex;align-items:center;justify-content:space-between;padding:6px var(--composer-send-inset) var(--composer-send-inset);position:relative}.menu-measure[data-v-e7022649]{position:absolute;width:max-content;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.toolbar-left[data-v-e7022649],.toolbar-right[data-v-e7022649]{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.toolbar-left[data-v-e7022649]{flex-wrap:wrap;row-gap:4px}.perm-pill[data-v-e7022649]{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);color:var(--color-text);cursor:pointer;user-select:none;transition:background .1s,color .15s;font-family:var(--font-ui);font-weight:var(--weight-medium)}.perm-pill[data-v-e7022649]:hover{background:var(--color-surface-sunken)}.perm-pill.open[data-v-e7022649]{background:var(--color-accent-soft)}.perm-pill.perm-manual[data-v-e7022649]{color:var(--dim)}.perm-pill.perm-yolo[data-v-e7022649]{color:var(--color-warning)}.perm-pill.perm-auto[data-v-e7022649]{color:var(--color-danger)}.ctx-group[data-v-e7022649]{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:2px 4px;border-radius:var(--radius-xs)}.ctx-group[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.model-pill[data-v-e7022649]{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:6px;font-size:var(--ui-font-size);line-height:var(--leading-normal);color:var(--dim);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;user-select:none;transition:background .1s;position:relative;overflow:hidden}.model-pill[data-v-e7022649]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.model-pill.open[data-v-e7022649]{background:var(--color-accent-soft)}.model-pill b[data-v-e7022649]{font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:280px}.model-pill .think-suffix[data-v-e7022649]{color:var(--color-accent);font-weight:500;flex-shrink:0}.model-pill .cv[data-v-e7022649]{color:var(--faint);flex:none}.model-pill:hover .cv[data-v-e7022649],.model-pill.open .cv[data-v-e7022649]{color:var(--color-accent-hover)}.model-dropdown[data-v-e7022649]{position:absolute;bottom:calc(100% + 4px);right:10px;z-index:var(--z-dropdown);min-width:200px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;max-height:min(520px,calc(100vh - 96px));max-height:min(520px,calc(100dvh - 96px));overflow-y:auto;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.md-section[data-v-e7022649]{padding:4px 7px 2px;font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:0;font-weight:var(--weight-semibold)}.md-row[data-v-e7022649]{display:flex;align-items:center;gap:7px;width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);padding:5px 7px;border-radius:6px;text-align:left}.md-row[data-v-e7022649]:hover{background:var(--color-surface-sunken)}.md-row[data-v-e7022649]:disabled{cursor:default;opacity:.58}.md-row[data-v-e7022649]:disabled:hover{background:none}.md-row.is-current[data-v-e7022649]{color:var(--color-text);background:var(--color-accent-soft)}.md-row.is-on[data-v-e7022649]{color:var(--color-accent)}.md-note[data-v-e7022649]{margin-left:auto;color:var(--muted);font-size:var(--ui-font-size-xs)}.md-row-more[data-v-e7022649]{color:var(--color-accent);font-weight:500}.md-row-more[data-v-e7022649]:hover{background:var(--color-accent-soft)}.md-check[data-v-e7022649]{width:14px;flex:none;color:var(--color-accent);font-weight:500;display:flex;justify-content:center}.md-name[data-v-e7022649]{flex:1}.md-provider[data-v-e7022649]{color:var(--muted);font-size:var(--ui-font-size-xs);flex:none}.md-star[data-v-e7022649]{color:var(--star);flex:none;margin-left:auto}.md-divider[data-v-e7022649]{height:1px;background:var(--line);margin:3px 0}.md-thinking[data-v-e7022649]{display:flex;align-items:center;gap:8px;padding:6px 7px;border-radius:var(--radius-sm)}.md-thinking .md-name[data-v-e7022649]{font-family:var(--font-ui);font-size:var(--ui-font-size);color:var(--color-text);flex:none}.md-thinking .md-note[data-v-e7022649]{margin-left:auto}.effort-segments[data-v-e7022649]{margin-left:auto;display:inline-flex;align-items:center;gap:1px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.effort-seg[data-v-e7022649]{appearance:none;border:none;background:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--ui-font-size-xs);line-height:1;color:var(--color-text-muted);padding:4px 9px;border-radius:var(--radius-sm);white-space:nowrap;transition:background .12s,color .12s,box-shadow .12s}.effort-seg[data-v-e7022649]:hover:not(:disabled):not(.is-active){background:var(--color-surface-raised);color:var(--color-text)}.effort-seg[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.effort-seg.is-active[data-v-e7022649]{background:var(--color-accent);color:var(--color-text-on-accent);box-shadow:var(--shadow-xs);font-weight:500}.effort-seg[data-v-e7022649]:disabled{cursor:default}.md-thinking.is-readonly .effort-segments[data-v-e7022649]{opacity:.62}.md-cache-note[data-v-e7022649]{width:0;min-width:100%;padding:2px 7px 4px;color:var(--muted);font-size:var(--ui-font-size-xs);line-height:1.4}.md-thinking.is-readonly .effort-seg.is-active[data-v-e7022649]{background:var(--color-surface-raised);color:var(--color-text-muted);box-shadow:none}.perm-dropdown[data-v-e7022649]{position:absolute;bottom:calc(100% + 4px);left:10px;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:min(calc(100vw - var(--space-8)),calc(100% - 20px));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px}.pd-row[data-v-e7022649]{display:grid;grid-template-columns:14px var(--composer-menu-desc-width, max-content);column-gap:7px;row-gap:2px;align-items:start;width:100%;background:none;border:none;cursor:pointer;padding:6px 7px;border-radius:6px;text-align:left}.pd-row[data-v-e7022649]:hover{background:var(--color-surface-sunken)}.pd-row.is-current[data-v-e7022649]{background:var(--color-accent-soft)}.pd-check[data-v-e7022649]{grid-column:1;grid-row:1;width:14px;min-height:1lh;color:var(--color-accent);font-size:var(--ui-font-size);font-weight:var(--weight-medium);display:flex;align-items:center;justify-content:center;line-height:var(--leading-normal)}.pd-info[data-v-e7022649]{display:contents}.pd-name[data-v-e7022649]{grid-column:2;grid-row:1;font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.pd-desc[data-v-e7022649]{grid-column:2;grid-row:2;width:var(--composer-menu-desc-width, auto);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted);line-height:var(--leading-normal)}.add-menu-anchor[data-v-e7022649]{display:inline-flex;flex:none}.add-menu-anchor .ui-icon-button.is-open[data-v-e7022649]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.add-menu[data-v-e7022649]{position:fixed;z-index:var(--z-dropdown);min-width:220px;width:max-content;max-width:calc(100vw - var(--space-8));background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:5px;display:flex;flex-direction:column;gap:1px;font-family:var(--font-ui)}.add-menu .pd-check[data-v-e7022649]{color:var(--muted)}.add-menu .pd-row.is-current .pd-check[data-v-e7022649],.add-menu .pd-row.is-current .pd-name[data-v-e7022649]{color:var(--color-accent-hover)}.mode-chip[data-v-e7022649]{display:inline-flex;align-items:center;flex:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:transparent;overflow:hidden;transition:background .1s,border-color .1s,color .15s}.mode-chip[data-v-e7022649]:hover{background:var(--color-surface-sunken)}.mode-chip.on[data-v-e7022649]{background:var(--color-accent-soft);border-color:var(--color-accent-bd)}.mode-chip-main[data-v-e7022649]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;background:none;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--ui-font-size);font-weight:var(--weight-medium);line-height:var(--leading-normal);cursor:pointer;user-select:none}.mode-chip-main[data-v-e7022649]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-main[data-v-e7022649]{color:var(--color-accent-hover)}.mode-chip-x[data-v-e7022649]{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:none;background:none;color:inherit;cursor:pointer}.mode-chip-x[data-v-e7022649]:hover{color:var(--color-text)}.mode-chip.on .mode-chip-x[data-v-e7022649]:hover{color:var(--color-accent-hover)}.mode-chip-x[data-v-e7022649]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media(max-width:980px){.model-pill b[data-v-e7022649]{max-width:130px}.perm-pill[data-v-e7022649]{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:640px){.composer[data-v-e7022649]{padding:9px var(--dock-inline-right, max(12px, var(--safe-right))) max(24px,var(--safe-bottom)) var(--dock-inline-left, max(12px, var(--safe-left)))}.composer-card[data-v-e7022649]{--composer-send-size: 36px;max-width:100%}.input-row[data-v-e7022649]{gap:6px;min-width:0}.send[data-v-e7022649]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.send svg[data-v-e7022649]{display:none}.send[data-v-e7022649]:after{content:"↑";font-size:17px;line-height:1;color:var(--bg)}.stop[data-v-e7022649]{width:var(--composer-send-size);height:var(--composer-send-size);min-width:var(--composer-send-size);padding:0;border-radius:50%;font-size:0;align-self:flex-end;position:relative}.stop svg[data-v-e7022649]{display:none}.stop[data-v-e7022649]:after{content:"■";font-size:17px;line-height:1}.perm-pill[data-v-e7022649],.add-menu-anchor[data-v-e7022649],.mode-chip[data-v-e7022649]{display:none}.model-dropdown[data-v-e7022649]{right:10px;left:auto;min-width:180px;max-width:calc(100vw - 24px)}.ph[data-v-e7022649]{font-size:16px}.model-pill[data-v-e7022649],.attach-btn[data-v-e7022649]{font-size:var(--ui-font-size)}.toolbar[data-v-e7022649]{gap:6px;min-width:0}.toolbar-left[data-v-e7022649],.toolbar-right[data-v-e7022649]{min-width:0}.model-pill[data-v-e7022649]{max-width:min(52vw,220px)}.model-pill b[data-v-e7022649]{max-width:min(40vw,170px)}.md-row[data-v-e7022649],.md-section[data-v-e7022649]{font-size:var(--ui-font-size)}.md-thinking[data-v-e7022649]{flex-wrap:wrap;row-gap:6px}.md-thinking .effort-segments[data-v-e7022649]{margin-left:0;width:100%;justify-content:space-between}.md-thinking .effort-seg[data-v-e7022649]{flex:1;padding:5px 6px}.pd-name[data-v-e7022649]{font-size:var(--ui-font-size)}.pd-desc[data-v-e7022649]{font-size:var(--text-xs)}}.ui-card[data-v-9c9f9a9a]{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.ui-card.is-elevated[data-v-9c9f9a9a]{box-shadow:var(--shadow-md);border-color:transparent}.ui-card__head[data-v-9c9f9a9a]{display:flex;align-items:center;gap:var(--space-2);padding:10px 14px;border-bottom:1px solid var(--color-line);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.ui-card__body[data-v-9c9f9a9a]{padding:14px;color:var(--color-text-muted)}.ui-card__foot[data-v-9c9f9a9a]{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:10px 14px;border-top:1px solid var(--color-line);background:var(--color-surface)}.goal-strip[data-v-9e444f61]{--composer-send-size: 32px;--composer-send-inset: var(--space-2);--goal-corner-radius: calc((var(--composer-send-size) / 2) + var(--composer-send-inset) + var(--space-3));margin:var(--space-2) var(--space-4) 0;box-shadow:var(--shadow-md)}.goal-strip.ui-card[data-v-9e444f61]{border-radius:var(--goal-corner-radius);corner-shape:superellipse(1.5)}.goal-strip:not(.expanded).ui-card[data-v-9e444f61]{border-radius:var(--radius-full);corner-shape:round}.goal-strip[data-v-9e444f61] .ui-card__foot{padding:var(--composer-send-inset)}.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{padding-left:calc((var(--composer-send-inset) + var(--composer-send-size)) / 2)}.goal-strip[data-v-9e444f61] .ui-card__body{background:var(--color-surface-raised);max-height:480px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__body{max-height:0;padding-top:0;padding-bottom:0;opacity:0}.goal-strip[data-v-9e444f61] .ui-card__head{border-bottom-color:var(--color-line);transition:border-bottom-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__head{border-bottom-color:transparent}.goal-row[data-v-9e444f61]{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:0;border:none;background:transparent;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);text-align:left;cursor:pointer}.goal-kicker[data-v-9e444f61]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.goal-icon[data-v-9e444f61]{flex:none;color:var(--color-success);margin-right:calc(-1 * var(--space-1))}.goal-objective[data-v-9e444f61]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:var(--text-base);text-align:left}.goal-objective.expanded-hidden[data-v-9e444f61]{visibility:hidden;pointer-events:none}.goal-status[data-v-9e444f61]{flex:none}.goal-progress[data-v-9e444f61]{width:54px;height:4px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.goal-progress-fill[data-v-9e444f61]{display:block;height:100%;border-radius:var(--radius-sm);background:var(--color-success)}.goal-chevron[data-v-9e444f61]{width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out);flex:none}.goal-chevron.open[data-v-9e444f61]{transform:rotate(90deg)}.goal-full[data-v-9e444f61]{color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-normal);white-space:pre-wrap;overflow-wrap:anywhere}.goal-criterion[data-v-9e444f61]{margin-top:var(--space-3);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.goal-criterion p[data-v-9e444f61]{margin:var(--space-1) 0 0;color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);text-transform:none}.goal-footer[data-v-9e444f61]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-width:0}.goal-strip[data-v-9e444f61] .ui-card__foot{max-height:100px;overflow:hidden;opacity:1;transition:max-height var(--duration-slow) var(--ease-out),padding-top var(--duration-slow) var(--ease-out),padding-bottom var(--duration-slow) var(--ease-out),opacity var(--duration-base) var(--ease-out),border-top-color var(--duration-base) var(--ease-out)}.goal-strip[data-v-9e444f61]:not(.expanded) .ui-card__foot{max-height:0;padding-top:0;padding-bottom:0;border-top-color:transparent;opacity:0}.goal-meta[data-v-9e444f61]{min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.goal-actions[data-v-9e444f61]{display:flex;gap:var(--space-2);justify-content:flex-end;flex:none}.goal-action[data-v-9e444f61]{flex:none;min-width:0;height:var(--composer-send-size);border-radius:var(--radius-full);padding-inline:var(--space-4)}.goal-action[data-v-9e444f61] .ui-button__content{gap:var(--space-1)}@media(max-width:640px){.goal-strip[data-v-9e444f61]{--composer-send-size: 36px;margin:var(--space-2) var(--space-3) 0}.goal-progress[data-v-9e444f61]{display:none}}@media(prefers-reduced-motion:reduce){.goal-strip[data-v-9e444f61] .ui-card__head,.goal-strip[data-v-9e444f61] .ui-card__body,.goal-strip[data-v-9e444f61] .ui-card__foot{transition:none}}.qcard[data-v-2af45fec]{margin:var(--space-2) 0}.qcard.ui-card[data-v-2af45fec]{border-color:var(--color-accent-bd)}.qcard[data-v-2af45fec] .ui-card__head{background:var(--color-accent-soft);border-bottom-color:var(--color-accent-bd)}.qcard.minimized[data-v-2af45fec] .ui-card__body{display:none}.qcard.minimized[data-v-2af45fec] .ui-card__head{border-bottom:none}.qh[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.qh-ic[data-v-2af45fec]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-accent);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.qtitle[data-v-2af45fec]{color:var(--color-accent-hover);font-size:var(--text-base);font-weight:var(--weight-semibold)}.qstep[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);margin-left:var(--space-1)}.qmin[data-v-2af45fec]{margin-left:auto}.qmin-peek[data-v-2af45fec]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.qbody[data-v-2af45fec]{color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui)}.qsteps[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-family:var(--font-ui)}.qstep-dot[data-v-2af45fec]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);cursor:pointer;padding:0;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.qstep-dot[data-v-2af45fec]:hover:not(.active){background:var(--color-surface-sunken)}.qstep-dot.active[data-v-2af45fec]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-on-accent);font-weight:var(--weight-medium)}.qstep-dot.answered[data-v-2af45fec]:not(.active){border-color:var(--color-accent);color:var(--color-accent)}.qheader-chip[data-v-2af45fec]{margin-bottom:var(--space-2)}.qtext[data-v-2af45fec]{font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-medium);margin-bottom:var(--space-2);line-height:var(--leading-normal)}.qmdbody[data-v-2af45fec]{margin-bottom:var(--space-2)}.qopts[data-v-2af45fec]{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.qopt[data-v-2af45fec]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;font:var(--text-sm)/var(--leading-normal) var(--font-ui);color:var(--color-text);transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out);user-select:none}.qopt[data-v-2af45fec]:hover{background:var(--color-surface-sunken)}.qopt.selected[data-v-2af45fec]{border-color:var(--color-accent-bd);background:var(--color-accent-soft);color:var(--color-text)}.qopt-key[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs) var(--font-ui);font-weight:var(--weight-medium);width:12px;flex:none;text-align:center}.qopt-glyph[data-v-2af45fec]{color:var(--color-accent-hover);font-size:var(--text-base);flex:none}.qopt-text[data-v-2af45fec]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qopt-label[data-v-2af45fec]{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-medium)}.qopt-desc[data-v-2af45fec]{color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.chk[data-v-2af45fec],.rad[data-v-2af45fec]{font:var(--text-base) var(--font-mono)}.other-input[data-v-2af45fec]{flex:1;font:var(--text-base) var(--font-ui);border:none;border-bottom:1px solid var(--color-line);outline:none;padding:2px var(--space-1);color:var(--color-text);background:transparent;min-width:0}.other-input[data-v-2af45fec]:focus-visible{border-bottom-color:var(--color-accent);box-shadow:0 1px 0 0 var(--color-accent)}.qfoot[data-v-2af45fec]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}@media(max-width:640px){.qh[data-v-2af45fec]{flex-wrap:wrap;row-gap:var(--space-1)}.qtext[data-v-2af45fec]{font-size:var(--text-lg)}.qstep-dot[data-v-2af45fec]{width:28px;height:28px;font:var(--text-xs) var(--font-ui)}.qopt[data-v-2af45fec]{min-height:44px;padding:var(--space-3);font-size:var(--text-base);border-radius:var(--radius-md)}.qopt-desc[data-v-2af45fec]{font-size:var(--text-xs)}.other-input[data-v-2af45fec]{flex-basis:100%;min-height:28px}.qfoot[data-v-2af45fec]{flex-direction:column}.qfoot-btn[data-v-2af45fec]{width:100%;min-height:46px}.qfoot-main[data-v-2af45fec]{order:-1}}.appr[data-v-458a9d7d]{margin:var(--space-2) 0}.appr.ui-card[data-v-458a9d7d]{border-color:var(--color-warning-bd)}.appr[data-v-458a9d7d] .ui-card__head{background:var(--color-warning-soft);border-bottom-color:var(--color-warning-bd)}.appr.minimized[data-v-458a9d7d] .ui-card__body{display:none}.appr.minimized[data-v-458a9d7d] .ui-card__head{border-bottom:none}.ah[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);width:100%;font:var(--text-sm)/var(--leading-normal) var(--font-ui);flex-wrap:nowrap}.ah-ic[data-v-458a9d7d]{width:var(--p-ic-md);height:var(--p-ic-md);display:inline-flex;align-items:center;justify-content:center;color:var(--color-warning);font-weight:var(--weight-semibold);font-size:15px;line-height:1;flex:none}.akind[data-v-458a9d7d]{color:var(--color-warning);font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap;flex:none}.apath[data-v-458a9d7d]{color:var(--color-text);font:var(--text-sm) var(--font-mono);flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ah-path[data-v-458a9d7d]{margin-bottom:var(--space-2);color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aw[data-v-458a9d7d],.minimized .amin[data-v-458a9d7d]{margin-left:auto}.diff[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);overflow:hidden;font:var(--text-sm)/1.85 var(--font-mono)}.dl[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.dg[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none}.dc[data-v-458a9d7d]{white-space:pre;font:inherit}.del[data-v-458a9d7d]{background:var(--color-danger-soft)}.del .dc[data-v-458a9d7d]{color:var(--color-danger)}.add[data-v-458a9d7d]{background:var(--color-success-soft)}.add .dc[data-v-458a9d7d]{color:var(--color-success)}.shell-cmd[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);white-space:pre-wrap;word-break:break-all;max-height:160px;overflow-y:auto;color:var(--color-text)}.shell-dollar[data-v-458a9d7d]{color:var(--color-accent-hover);font-weight:var(--weight-medium);margin-right:var(--space-2)}.shell-cwd[data-v-458a9d7d]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-top:var(--space-1)}.shell-danger[data-v-458a9d7d]{margin-top:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-danger-bd);border-radius:var(--radius-sm);color:var(--color-danger);font:var(--text-sm) var(--font-ui);background:var(--color-danger-soft)}.body-file[data-v-458a9d7d]{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.file-bar[data-v-458a9d7d]{padding:var(--space-1) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-line);font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.file-lang[data-v-458a9d7d]{letter-spacing:.04em}.file-content[data-v-458a9d7d]{padding:var(--space-2) 0;font:var(--text-sm)/1.7 var(--font-mono);background:var(--color-surface-sunken);max-height:240px;overflow-y:auto}.file-line[data-v-458a9d7d]{display:flex;padding:0 var(--space-3)}.file-ln[data-v-458a9d7d]{width:30px;color:var(--color-text-muted);text-align:right;padding-right:var(--space-3);user-select:none;flex:none}.file-text[data-v-458a9d7d]{white-space:pre;font:inherit}.body-chip[data-v-458a9d7d]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.chip-label[data-v-458a9d7d]{background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px var(--space-2);font:var(--weight-semibold) var(--text-xs) var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.chip-value[data-v-458a9d7d]{font:var(--text-sm) var(--font-mono);color:var(--color-text);word-break:break-all}.chip-detail[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted)}.todo-item[data-v-458a9d7d]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-1) 0;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text)}.todo-glyph[data-v-458a9d7d]{color:var(--color-accent);font-size:var(--text-sm);flex:none;width:14px}.todo-title[data-v-458a9d7d]{color:var(--color-text)}.todo-done[data-v-458a9d7d]{color:var(--color-text-muted);text-decoration:line-through}.body-generic[data-v-458a9d7d]{font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text);word-break:break-word}.body-plan[data-v-458a9d7d]{max-height:50vh;overflow-y:auto}.feedback-wrap[data-v-458a9d7d]{margin-top:var(--space-3)}.feedback-ta[data-v-458a9d7d]{width:100%;box-sizing:border-box;font:var(--text-sm) var(--font-ui);padding:var(--space-2) var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-sm);resize:none;outline:none;color:var(--color-text);background:var(--color-surface-raised)}.feedback-ta[data-v-458a9d7d]:focus-visible{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.feedback-hint[data-v-458a9d7d]{font:var(--text-xs) var(--font-ui);color:var(--color-text-muted);margin-top:var(--space-1)}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{display:flex;justify-content:flex-end;gap:var(--space-2);width:100%}.plan-actions[data-v-458a9d7d]{flex-wrap:wrap}.k[data-v-458a9d7d]{opacity:.75}@media(max-width:640px){.diff[data-v-458a9d7d],.file-content[data-v-458a9d7d]{overflow-x:auto;-webkit-overflow-scrolling:touch}.file-content[data-v-458a9d7d]{max-height:50vh}.abtn[data-v-458a9d7d],.plan-actions[data-v-458a9d7d]{flex-direction:column}.kbtn[data-v-458a9d7d]{width:100%;min-height:46px}}.ui-seg[data-v-d1aaccd7]{display:inline-flex;gap:2px;padding:2px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md)}.ui-seg__item[data-v-d1aaccd7]{border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-weight:var(--weight-medium);cursor:pointer;line-height:1;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-seg--md .ui-seg__item[data-v-d1aaccd7]{padding:5px var(--space-3);font-size:var(--text-sm)}.ui-seg--sm .ui-seg__item[data-v-d1aaccd7]{height:24px;padding:0 var(--space-2);font-size:var(--text-sm)}.ui-seg__item[data-v-d1aaccd7]:hover:not(.is-on){color:var(--color-text)}.ui-seg__item.is-on[data-v-d1aaccd7]{background:var(--color-surface-raised);color:var(--color-text);box-shadow:var(--shadow-xs)}.ui-seg__item[data-v-d1aaccd7]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.status-glyph[data-v-f595d935]{flex:none;width:16px;font-size:var(--text-base);line-height:1;text-align:center;user-select:none}.status-glyph.s-run[data-v-f595d935]{color:var(--color-accent);font-weight:500}.status-glyph.s-done[data-v-f595d935]{color:var(--color-success)}.status-glyph.s-fail[data-v-f595d935]{color:var(--color-danger)}.status-glyph.s-pending[data-v-f595d935]{color:var(--color-text-faint)}.taskspane[data-v-30ebee08]{padding:14px 18px 10px;flex:1;min-height:0;display:flex;flex-direction:column}.tp-head[data-v-30ebee08]{border-top:1px solid var(--line);padding-top:10px;margin-bottom:8px;display:flex;align-items:baseline;gap:8px}.tp-title[data-v-30ebee08]{color:var(--color-accent-hover);font-weight:500;font-size:var(--text-base);text-transform:capitalize}.tp-count[data-v-30ebee08]{color:var(--muted);font-size:var(--text-base)}.tp-filter[data-v-30ebee08]{padding-bottom:8px}.tp-body[data-v-30ebee08]{flex:1;min-height:0;display:flex;gap:10px}.tp-list-col[data-v-30ebee08]{flex:1;min-width:0;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.tp-row[data-v-30ebee08]{padding:4px 0}.tp-row.done .tp-name[data-v-30ebee08],.tp-card.done .tp-card-name[data-v-30ebee08]{color:var(--muted);text-decoration:line-through}.tp-row.fail .tp-name[data-v-30ebee08],.tp-card.fail .tp-card-name[data-v-30ebee08]{color:var(--color-danger)}.tp-main[data-v-30ebee08]{display:flex;align-items:center;gap:7px;font-size:var(--text-base)}.tp-row.expandable>.tp-main[data-v-30ebee08]{cursor:pointer;border-radius:4px}.tp-row.expandable>.tp-main[data-v-30ebee08]:hover{background:var(--panel2)}.tp-row.selected>.tp-main[data-v-30ebee08]{background:var(--panel2)}.tp-chevron[data-v-30ebee08]{flex:none;color:var(--muted);transition:transform .12s}.tp-chevron.open[data-v-30ebee08]{transform:rotate(90deg)}.tp-name[data-v-30ebee08]{color:var(--color-text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-time[data-v-30ebee08]{flex:none;font-size:var(--text-base);color:var(--muted)}.tp-stop[data-v-30ebee08]{flex:none;background:none;border:1px solid color-mix(in srgb,var(--color-danger) 22%,var(--bg));border-radius:var(--radius-xs);color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 8px;cursor:pointer;font-family:var(--mono)}.tp-stop[data-v-30ebee08]:hover{background:var(--panel)}.tp-detail[data-v-30ebee08]{margin:4px 0 0 23px;display:flex;flex-direction:column;gap:4px}.tp-detail-col[data-v-30ebee08]{flex:0 0 44%;min-width:0;min-height:0;overflow-y:auto;border-left:1px solid var(--line);padding-left:10px;display:flex;flex-direction:column;gap:6px}.tp-detail-head[data-v-30ebee08]{flex:none;padding-bottom:2px}.tp-detail-empty[data-v-30ebee08]{padding:18px 6px;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}.tp-codebox[data-v-30ebee08]{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-xs)}.tp-copy[data-v-30ebee08]{position:absolute;top:4px;right:6px;z-index:1;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius-xs);color:var(--dim);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));padding:1px 7px;cursor:pointer;font-family:var(--sans)}.tp-codebox:hover .tp-copy[data-v-30ebee08],.tp-copy[data-v-30ebee08]:focus-visible{opacity:1;visibility:visible}.tp-copy[data-v-30ebee08]:hover{background:var(--panel)}.tp-copy.copied[data-v-30ebee08]{color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 30%,var(--line))}.tp-pre[data-v-30ebee08]{margin:0;padding:6px 10px;max-height:320px;overflow:auto;contain:layout paint}.tp-pre code[data-v-30ebee08]{display:block;font-family:var(--mono);font-size:var(--text-base);line-height:1.55;color:var(--dim);white-space:pre-wrap;word-break:break-word}.tp-cmd[data-v-30ebee08]{display:block;color:var(--muted)}.tp-line[data-v-30ebee08]{display:block}.tp-grid[data-v-30ebee08]{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;align-content:start}.tp-card[data-v-30ebee08]{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--sans);font-size:var(--text-base);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.tp-card[data-v-30ebee08]:hover{background:var(--panel2);border-color:color-mix(in srgb,var(--color-accent-hover) 40%,var(--line))}.tp-card[data-v-30ebee08]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.tp-card-line[data-v-30ebee08]{display:flex;align-items:center;gap:7px;min-width:0}.tp-card-name[data-v-30ebee08]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-card-meta[data-v-30ebee08]{justify-content:space-between}.tp-empty[data-v-30ebee08]{padding:24px 0;text-align:center;color:var(--faint);font-size:var(--ui-font-size-sm)}@media(max-width:640px){.taskspane[data-v-30ebee08]{padding:14px 14px 16px}.tp-body[data-v-30ebee08]{flex-direction:column;overflow-y:auto;gap:8px}.tp-list-col[data-v-30ebee08]{flex:none;overflow:visible}.tp-detail-col[data-v-30ebee08]{flex:none;border-left:none;border-top:1px solid var(--line);padding-left:0;padding-top:8px;overflow:visible}.tp-main[data-v-30ebee08]{flex-wrap:wrap;row-gap:4px}.tp-name[data-v-30ebee08]{font-size:var(--ui-font-size-sm)}.tp-stop[data-v-30ebee08]{min-height:32px;display:inline-flex;align-items:center;padding:4px 12px;border-radius:6px;font-size:var(--ui-font-size-xs)}.tp-detail[data-v-30ebee08]{margin-left:0}.tp-pre[data-v-30ebee08]{font-size:var(--ui-font-size-xs)}}.tp-stop[data-v-30ebee08]{border-radius:var(--radius-md);font-family:var(--sans)}.todo-card[data-v-4f8e45d2]{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-base)}.tc-progress[data-v-4f8e45d2]{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-1) var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.tc-progress-ico[data-v-4f8e45d2]{color:var(--color-success)}.tc-row[data-v-4f8e45d2]{display:flex;align-items:center;gap:7px;padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-text)}.tc-name[data-v-4f8e45d2]{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}.tc-row.s-in_progress[data-v-4f8e45d2]{border-color:var(--color-accent-bd)}.tc-row.s-in_progress .tc-name[data-v-4f8e45d2]{font-weight:var(--weight-medium)}.tc-row.s-done .tc-name[data-v-4f8e45d2]{color:var(--color-text-faint);text-decoration:line-through}.tc-empty[data-v-4f8e45d2]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--color-text-faint);font-size:var(--text-sm)}.tc-empty-ico[data-v-4f8e45d2]{width:28px;height:28px;color:var(--color-line-strong)}@media(max-width:640px){.todo-card[data-v-4f8e45d2]{font-size:var(--text-lg)}}.terminal-panel[data-v-4d134005]{display:flex;flex-direction:column;height:300px;min-height:0}.term-state[data-v-4d134005]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.term-toolbar[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-line)}.term-tabs[data-v-4d134005]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-1);overflow-x:auto}.term-tab[data-v-4d134005]{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 4px 0 var(--space-2);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-xs);cursor:pointer}.term-tab[data-v-4d134005]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.term-tab.active[data-v-4d134005]{background:var(--color-accent-soft);color:var(--color-text)}.term-tab-label[data-v-4d134005]{font-weight:500}.term-add[data-v-4d134005]{flex:none}.term-add[data-v-4d134005] svg{width:var(--p-ic-sm);height:var(--p-ic-sm)}.term-error[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-danger);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-exit[data-v-4d134005]{flex:none;padding:var(--space-2);color:var(--color-warning);font-family:var(--font-mono);font-size:var(--text-xs);border-bottom:1px solid var(--color-line)}.term-output[data-v-4d134005]{flex:1;min-height:0;margin:var(--space-2) 0;padding:var(--space-2);overflow-y:auto;background:var(--color-bg);border:1px solid var(--color-line);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.term-input-row[data-v-4d134005]{flex:none;display:flex;align-items:center;gap:var(--space-2)}.term-prompt[data-v-4d134005]{flex:none;color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]{flex:1;min-width:0;background:transparent;border:none;outline:none;padding:var(--space-1) 0;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-xs)}.term-input[data-v-4d134005]::placeholder{color:var(--color-text-faint)}.term-input[data-v-4d134005]:disabled{opacity:.5}.ui-empty[data-v-38e00944]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.ui-empty__icon[data-v-38e00944]{color:var(--color-text-faint)}.ui-empty__icon[data-v-38e00944] svg{width:48px;height:48px}.ui-empty__title[data-v-38e00944]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-empty__hint[data-v-38e00944]{font-size:var(--text-sm);color:var(--color-text-muted)}.goal-panel[data-v-d3a415b3]{min-width:260px;max-width:420px}.gp-head[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-2)}.gp-title-row[data-v-d3a415b3]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.gp-icon[data-v-d3a415b3]{flex:none;color:var(--color-success)}.gp-kicker[data-v-d3a415b3]{flex:none;color:var(--color-success);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-semibold)}.gp-objective[data-v-d3a415b3]{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font:var(--text-base)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium)}.gp-status[data-v-d3a415b3]{flex:none}.gp-elapsed[data-v-d3a415b3]{flex:none;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-ui);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.gp-actions[data-v-d3a415b3]{flex:none;display:flex;align-items:center;gap:var(--space-1);margin-left:var(--space-1)}.gp-action[data-v-d3a415b3]{width:28px;height:28px}.gp-criterion[data-v-d3a415b3]{display:flex;flex-direction:column;gap:var(--space-1);border-top:1px solid var(--color-line);padding-top:var(--space-2)}.gp-criterion-label[data-v-d3a415b3]{color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase}.gp-criterion-text[data-v-d3a415b3]{margin:0;color:var(--color-text-muted);font:var(--text-sm)/var(--leading-normal) var(--font-ui)}.plan-panel[data-v-9073f2b6]{min-width:300px;max-width:460px;display:flex;flex-direction:column;gap:var(--space-2)}.pp-loading[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font:var(--text-sm) var(--font-ui)}.pp-plan-wrap[data-v-9073f2b6]{display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.pp-path[data-v-9073f2b6]{margin:0;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-plan[data-v-9073f2b6]{margin:0;max-height:300px;overflow-y:auto;padding:var(--space-2) var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken);color:var(--color-text);font:var(--text-sm)/var(--leading-normal) var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.pp-review[data-v-9073f2b6]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;color:var(--color-text-muted);font:var(--text-xs) var(--font-ui)}.pp-state[data-v-9073f2b6]{font-weight:var(--weight-medium)}.pp-option[data-v-9073f2b6]{color:var(--color-accent)}.pp-feedback[data-v-9073f2b6]{color:var(--color-text-muted)}.chat-dock[data-v-c24c01d4]{--dock-inline-left: 16px;--dock-inline-right: 16px;box-sizing:border-box;width:100%;max-width:calc(var(--read-max) + var(--panes-scrollbar-width, 0px));padding-right:var(--panes-scrollbar-width, 0px);flex:none;position:relative;background:var(--color-bg);z-index:var(--z-sticky)}.chat-dock.align-center[data-v-c24c01d4]{margin-left:auto;margin-right:auto}.chat-dock.align-left[data-v-c24c01d4]{margin-left:0;margin-right:auto}.chat-dock.align-mobile[data-v-c24c01d4]{max-width:none}.dock-work-panel[data-v-c24c01d4]{position:absolute;left:16px;right:calc(16px + var(--panes-scrollbar-width, 0px));bottom:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);margin-bottom:7px;max-height:min(360px,50vh);display:flex;flex-direction:column;overflow:hidden}.dock-work-head[data-v-c24c01d4]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-line)}.dock-work-tab[data-v-c24c01d4]{font-size:var(--text-base);font-weight:500;color:var(--color-text);padding:3px 8px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid var(--color-line)}.dock-work-tab.static[data-v-c24c01d4]{background:transparent;border-color:transparent;padding-left:2px}.dock-work-body[data-v-c24c01d4]{display:flex;flex-direction:column;padding:8px 10px;overflow-y:auto;min-height:0}.dock-work-body[data-v-c24c01d4] .taskspane{border:none;background:transparent;padding:0}.dock-work-body[data-v-c24c01d4] .taskspane .tp-head{display:none}.dock-workbar[data-v-c24c01d4]{display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;gap:6px;padding:4px var(--dock-inline-right) 2px var(--dock-inline-left)}.dock-workbar .dw-count[data-v-c24c01d4]{margin-left:1px}.dock-workbar .dw-count b[data-v-c24c01d4]{font-weight:500}.dock-approval[data-v-c24c01d4]{margin-top:8px}.chat-dock.has-approval[data-v-c24c01d4]{max-height:calc(100dvh - 72px)}.chat-dock.has-approval>.dock-workbar[data-v-c24c01d4]{flex:none}.chat-dock.has-approval>.dock-approval[data-v-c24c01d4]{min-height:0}@media(max-width:640px){.chat-dock[data-v-c24c01d4]{--dock-inline-left: max(12px, var(--safe-left));--dock-inline-right: max(12px, var(--safe-right))}.dock-work-panel[data-v-c24c01d4]{left:10px;right:calc(10px + var(--panes-scrollbar-width, 0px))}}.chat-dock[data-v-c24c01d4]:not(.align-mobile) .composer{padding-bottom:14px}.dock-panel-enter-active[data-v-c24c01d4],.dock-panel-leave-active[data-v-c24c01d4]{transition:opacity .16s ease,transform .16s ease}.dock-panel-enter-from[data-v-c24c01d4],.dock-panel-leave-to[data-v-c24c01d4]{opacity:0;transform:translateY(8px)}.ui-input[data-v-340f0da2]{width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background:var(--color-surface-raised);box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-input--md[data-v-340f0da2]{height:38px}.ui-input--sm[data-v-340f0da2]{height:32px;font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-input[data-v-340f0da2]::placeholder{color:var(--color-text-faint)}.ui-input[data-v-340f0da2]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-input[data-v-340f0da2]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-input[data-v-340f0da2]:disabled{opacity:.5;cursor:not-allowed}.ui-input[readonly][data-v-340f0da2]{background:var(--color-surface-sunken)}.ui-input.has-error[data-v-340f0da2]{border-color:var(--color-danger)}.ui-input.has-error[data-v-340f0da2]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}.conv-search[data-v-c521ac2e]{flex:none;display:flex;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.conv-search-icon[data-v-c521ac2e]{flex:none;color:var(--color-text-muted)}.conv-search-input[data-v-c521ac2e]{flex:1;min-width:0}.conv-search-count[data-v-c521ac2e]{flex:none;min-width:56px;text-align:center;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap}.conv-search-none[data-v-c521ac2e]{color:var(--color-text-faint)}.conversation-toc[data-v-3f1c1f66]{position:absolute;z-index:var(--z-sticky);top:50%;transform:translateY(-50%);--toc-content-max: min( var(--p-content-max), calc(100cqi - var(--space-5) - var(--space-5)) );left:calc(50% + (var(--toc-content-max) / 2) + 14px);display:flex;flex-direction:column;justify-content:center;opacity:.5;transition:opacity var(--duration-base) var(--ease-out)}.conversation-toc[data-v-3f1c1f66]:before{content:"";position:absolute;inset:0 -48px 0 -14px;z-index:0}.conversation-toc[data-v-3f1c1f66]:hover,.conversation-toc[data-v-3f1c1f66]:focus-within{opacity:1}.toc-scroll[data-v-3f1c1f66]{position:relative;z-index:1;display:flex;flex-direction:column;gap:7px;padding:8px 0;max-height:calc(100vh - 200px);overflow-y:auto;scrollbar-width:none}.toc-scroll[data-v-3f1c1f66]::-webkit-scrollbar{display:none}.toc-row[data-v-3f1c1f66]{display:flex;align-items:center;gap:10px;height:18px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap}.toc-row[data-v-3f1c1f66]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.toc-bar[data-v-3f1c1f66]{flex:none;width:3px;height:14px;border-radius:var(--radius-full);background:var(--color-accent);opacity:.3;transition:opacity var(--duration-fast) var(--ease-out),height var(--duration-fast) var(--ease-out)}.toc-label[data-v-3f1c1f66]{display:block;max-width:0;overflow:hidden;opacity:0;text-overflow:ellipsis;transition:max-width .22s var(--ease-out),opacity var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.conversation-toc:hover .toc-bar[data-v-3f1c1f66],.conversation-toc:focus-within .toc-bar[data-v-3f1c1f66]{height:18px;opacity:.5}.conversation-toc:hover .toc-label[data-v-3f1c1f66],.conversation-toc:focus-within .toc-label[data-v-3f1c1f66]{max-width:220px;opacity:1}.toc-row.active .toc-bar[data-v-3f1c1f66]{opacity:1;height:18px}.toc-row.active .toc-label[data-v-3f1c1f66]{color:var(--color-accent);font-weight:var(--weight-medium)}.toc-row:hover .toc-bar[data-v-3f1c1f66]{opacity:1}.toc-row:hover .toc-label[data-v-3f1c1f66]{color:var(--color-text)}.conversation-toc.toc-clipped[data-v-3f1c1f66]{visibility:hidden;pointer-events:none}.con[data-v-fad3cc77]{--read-max: 760px;display:flex;flex-direction:column;min-width:0;height:100%;position:relative;container-type:inline-size}.panes[data-v-fad3cc77]{flex:1;min-height:0;overflow-y:auto;overflow-anchor:auto;scrollbar-gutter:stable}.panes.is-following[data-v-fad3cc77],.panes.history-prepending[data-v-fad3cc77]{overflow-anchor:none}.chat-layout[data-v-fad3cc77]{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}.chat-scroll[data-v-fad3cc77]{flex:1;min-height:0;position:relative}.content-wrap[data-v-fad3cc77]{width:100%;max-width:var(--read-max);min-height:100%;display:flex;flex-direction:column;flex-shrink:0}.content-wrap.align-center[data-v-fad3cc77]{margin-left:auto;margin-right:auto}.content-wrap.align-left[data-v-fad3cc77]{margin-left:0;margin-right:auto}.content-wrap.align-mobile[data-v-fad3cc77]{max-width:none}@media(max-width:640px){.con.mobile[data-v-fad3cc77]{min-width:0;overflow:hidden}.con.mobile .panes[data-v-fad3cc77]{scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}.content-wrap.align-mobile[data-v-fad3cc77]{width:100%;min-width:0}}.empty-spacer[data-v-fad3cc77]{flex:1}.empty-hint[data-v-fad3cc77]{flex:none;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:0 16px 16px;color:var(--color-text);font-family:var(--font-ui)}.empty-hint-title[data-v-fad3cc77]{font-size:calc(var(--ui-font-size) + 16px);font-optical-sizing:auto;font-weight:var(--weight-semibold)}.empty-hint-title.is-starting[data-v-fad3cc77]{display:inline-flex;align-items:center;gap:9px;color:var(--dim);font-weight:400}.empty-hint-text[data-v-fad3cc77]{display:inline-block;font-size:var(--text-base);color:var(--dim);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-add-workspace[data-v-fad3cc77]{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--dim);font-family:var(--mono);font-size:var(--ui-font-size-sm);cursor:pointer}.empty-add-workspace[data-v-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.empty-add-workspace[data-v-fad3cc77]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.empty-add-workspace svg[data-v-fad3cc77]{flex:none}.ws-pick[data-v-fad3cc77]{position:relative;font-family:var(--font-ui)}.ws-pick-btn[data-v-fad3cc77]{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:min(100%,calc(100vw - var(--space-8)));padding:5px 10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--dim);font-family:inherit;font-size:var(--ui-font-size-sm);cursor:pointer}.ws-pick-btn[data-v-fad3cc77]:hover{border-color:var(--color-accent-bd);color:var(--color-text)}.ws-pick-name[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-chev[data-v-fad3cc77]{flex:none;color:var(--muted);transition:transform .15s}.ws-pick-chev.open[data-v-fad3cc77]{transform:rotate(180deg)}.ws-pick-backdrop[data-v-fad3cc77]{position:fixed;inset:0;z-index:var(--z-sticky)}.ws-pick-menu[data-v-fad3cc77]{position:absolute;display:grid;grid-template-columns:minmax(0,1fr);left:50%;transform:translate(-50%);top:calc(100% + 6px);z-index:var(--z-dropdown);width:max-content;min-width:min(180px,calc(100cqw - var(--space-8)));max-width:calc(100cqw - var(--space-8));max-height:50vh;overflow:hidden auto;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:4px}.ws-pick-item[data-v-fad3cc77]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:6px 10px;cursor:pointer;font-family:var(--font-ui)}.ws-pick-item[data-v-fad3cc77]:hover{background:var(--panel2)}.ws-pick-item.on[data-v-fad3cc77]{background:var(--color-accent-soft)}.ws-pick-item-name[data-v-fad3cc77]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.ws-pick-item.on .ws-pick-item-name[data-v-fad3cc77]{color:var(--color-accent-hover)}.ws-pick-item-path[data-v-fad3cc77]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.ws-pick-item.ws-pick-more[data-v-fad3cc77]{flex-direction:row;align-items:center;justify-content:flex-start;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-item.ws-pick-more[data-v-fad3cc77]:hover{color:var(--color-text)}.ws-pick-item.ws-pick-more span[data-v-fad3cc77],.ws-pick-action span[data-v-fad3cc77]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-pick-divider[data-v-fad3cc77]{height:1px;margin:4px 6px;background:var(--line)}.ws-pick-action[data-v-fad3cc77]{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--dim)}.ws-pick-action[data-v-fad3cc77]:hover{background:var(--panel2);color:var(--color-text)}.ws-pick-action svg[data-v-fad3cc77]{flex:none}.chat-scroll[data-v-fad3cc77]{display:flex;flex-direction:column}.mobile .panes[data-v-fad3cc77]:has(>.chat-layout){overflow:hidden;scrollbar-gutter:auto}.newmsg-pill[data-v-fad3cc77]{position:absolute;left:50%;bottom:12px;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--color-text);font-size:var(--ui-font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);z-index:var(--z-base)}.newmsg-pill[data-v-fad3cc77]:hover{background:var(--panel2)}.pill-chevron[data-v-fad3cc77]{width:12px;height:12px}.pill-enter-active[data-v-fad3cc77],.pill-leave-active[data-v-fad3cc77]{transition:opacity .2s ease,transform .2s ease}.pill-enter-from[data-v-fad3cc77],.pill-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(8px)}.abort-toast[data-v-fad3cc77]{position:absolute;left:50%;top:60px;transform:translate(-50%);padding:8px 14px;border-radius:var(--radius-sm);background:var(--color-text);color:var(--bg);font-size:var(--ui-font-size-sm);z-index:var(--z-sticky);box-shadow:var(--shadow-sm)}.abort-toast-text[data-v-fad3cc77]{display:flex;align-items:center;gap:8px}.abort-toast-enter-active[data-v-fad3cc77],.abort-toast-leave-active[data-v-fad3cc77]{transition:opacity .15s ease,transform .15s ease}.abort-toast-enter-from[data-v-fad3cc77],.abort-toast-leave-to[data-v-fad3cc77]{opacity:0;transform:translate(-50%) translateY(-6px)}.con[data-v-fad3cc77]{background:var(--bg)}.newmsg-pill[data-v-fad3cc77]{font-family:var(--sans)}.ui-panel-header[data-v-c47879ad]{flex:none;display:flex;align-items:center;gap:var(--space-2);height:var(--panel-head-h, 48px);padding:0 6px 0 var(--space-3);box-sizing:border-box;min-width:0;border-bottom:1px solid var(--color-line);background:var(--color-surface)}.ui-panel-header__title[data-v-c47879ad]{flex:none;font:var(--weight-semibold) var(--text-xs) var(--font-mono);letter-spacing:.04em;color:var(--color-text)}.ui-panel-header__sub[data-v-c47879ad]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--text-xs) var(--font-mono);color:var(--color-text-muted)}.ui-panel-header__close[data-v-c47879ad]{flex:none;margin-left:auto}.ui-panel-header.wrap[data-v-c47879ad]{flex-wrap:wrap;height:auto;min-height:var(--panel-head-h, 48px);padding-top:3px;padding-bottom:3px;gap:4px 6px}.ui-panel-header.wrap .ui-panel-header__close[data-v-c47879ad]{margin-left:0}.file-preview[data-v-ded222d2]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono);min-width:0;container-type:inline-size}.fp-empty[data-v-ded222d2],.fp-loading[data-v-ded222d2]{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:var(--ui-font-size)}.fp-path[data-v-ded222d2]{flex:1 1 60px;min-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left;font-size:var(--ui-font-size-xs);color:var(--muted);font-weight:400}.fp-meta[data-v-ded222d2]{display:flex;align-items:center;gap:8px;flex:none}@container (max-width: 539px){.fp-meta[data-v-ded222d2]{display:none}}.fp-lines[data-v-ded222d2],.fp-size[data-v-ded222d2]{font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--muted);white-space:nowrap}.fp-search[data-v-ded222d2]{display:flex;align-items:center;gap:4px;flex:1 1 110px;min-width:70px;max-width:200px}.fp-search-input[data-v-ded222d2]{flex:1;min-width:0;height:26px;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:2px 7px;background:var(--color-surface-raised);color:var(--color-text);font:var(--text-xs) var(--font-mono)}.fp-search-count[data-v-ded222d2]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px));min-width:18px;text-align:right}.fp-download[data-v-ded222d2]{display:inline-grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--radius-sm);color:var(--color-text-muted)}.fp-download[data-v-ded222d2]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.fp-download[data-v-ded222d2]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.fp-download svg[data-v-ded222d2]{width:var(--p-ic-sm);height:var(--p-ic-sm)}.fp-check[data-v-ded222d2]{color:var(--color-success)}.fp-body[data-v-ded222d2]{--fp-search-hit-bg: color-mix(in srgb, var(--star) 22%, var(--bg));--fp-search-active-bg: color-mix(in srgb, var(--star) 36%, var(--bg));--fp-token-keyword: color-mix(in srgb, var(--color-accent) 68%, var(--color-danger));--fp-token-string: var(--color-success);--fp-token-literal: var(--color-accent-hover);--fp-token-tag: var(--color-warning);flex:1;min-height:0;overflow:auto}.fp-markdown[data-v-ded222d2]{padding:16px 20px}.fp-code[data-v-ded222d2]{background:var(--bg)}.fp-line-table[data-v-ded222d2]{display:table;width:100%;border-collapse:collapse;font-size:var(--ui-font-size);line-height:1.6}.fp-line-row[data-v-ded222d2]{display:table-row}.fp-line-row.hit .fp-line-text[data-v-ded222d2],.fp-table tr.hit td[data-v-ded222d2]{background:var(--fp-search-hit-bg)}.fp-line-row.active .fp-line-text[data-v-ded222d2],.fp-table tr.active td[data-v-ded222d2]{background:var(--fp-search-active-bg)}.fp-line-row.target .fp-gutter[data-v-ded222d2],.fp-line-row.target .fp-line-text[data-v-ded222d2],.fp-table tr.target th[data-v-ded222d2],.fp-table tr.target td[data-v-ded222d2]{background:var(--color-accent-soft)}.fp-gutter[data-v-ded222d2]{display:table-cell;width:44px;padding:0 10px 0 12px;text-align:right;color:var(--faint);user-select:none;font-size:var(--text-base);white-space:nowrap;border-right:1px solid var(--line2);vertical-align:top}.fp-line-text[data-v-ded222d2]{display:table-cell;padding:0 12px;color:var(--color-text);white-space:pre;vertical-align:top}.fp-line-text[data-v-ded222d2] .tok-key,.fp-line-text[data-v-ded222d2] .tok-keyword{color:var(--fp-token-keyword);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-string{color:var(--fp-token-string)}.fp-line-text[data-v-ded222d2] .tok-number,.fp-line-text[data-v-ded222d2] .tok-literal{color:var(--fp-token-literal)}.fp-line-text[data-v-ded222d2] .tok-comment{color:var(--muted);font-style:italic}.fp-line-text[data-v-ded222d2] .tok-tag{color:var(--fp-token-tag);font-weight:500}.fp-line-text[data-v-ded222d2] .tok-attr{color:var(--fp-token-literal)}.fp-html-frame[data-v-ded222d2],.fp-pdf-frame[data-v-ded222d2]{width:100%;height:100%;border:0;background:var(--color-surface-raised)}.fp-pdf-wrap[data-v-ded222d2]{background:var(--panel2)}.fp-table-wrap[data-v-ded222d2]{background:var(--bg)}.fp-table[data-v-ded222d2]{border-collapse:collapse;min-width:100%;font:12px/1.5 var(--mono)}.fp-table th[data-v-ded222d2]{position:sticky;left:0;z-index:1;width:44px;min-width:44px;padding:2px 8px;text-align:right;color:var(--faint);background:var(--panel);border-right:1px solid var(--line2);user-select:none}.fp-table td[data-v-ded222d2]{padding:2px 10px;border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);white-space:pre}.fp-image-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center;padding:24px;background:var(--panel2)}.fp-image[data-v-ded222d2]{max-width:100%;max-height:100%;object-fit:contain;border:1px solid var(--line);border-radius:4px;background:var(--media-alpha-canvas)}.fp-image.actual[data-v-ded222d2]{max-width:none;max-height:none}.fp-binary-wrap[data-v-ded222d2]{display:flex;align-items:center;justify-content:center}.fp-binary-card[data-v-ded222d2]{display:flex;align-items:center;gap:12px;padding:20px 24px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font-size:var(--ui-font-size);margin:32px auto;max-width:480px}.fp-binary-icon[data-v-ded222d2]{color:var(--faint);flex:none}.fp-error[data-v-ded222d2]{flex-direction:column;padding:24px;text-align:center}@keyframes spin-ded222d2{to{transform:rotate(360deg)}}.spinner[data-v-ded222d2]{display:inline-block;width:14px;height:14px;border:1.5px solid var(--line);border-top-color:var(--color-accent);border-radius:50%;animation:spin-ded222d2 .7s linear infinite}@media(max-width:640px){.fp-lines[data-v-ded222d2]{display:none}.fp-markdown[data-v-ded222d2]{padding:14px 16px}.fp-body.fp-code[data-v-ded222d2]{-webkit-overflow-scrolling:touch}}.fp-empty[data-v-ded222d2],.fp-loading[data-v-ded222d2]{font-family:var(--sans)}.fp-binary-card[data-v-ded222d2]{border:1px solid var(--color-line);border-radius:var(--radius-md)}.fp-binary-label[data-v-ded222d2]{font-family:var(--sans)}.fp-image[data-v-ded222d2]{border-radius:var(--radius-md)}.seg-btn[data-v-ded222d2]{font-family:var(--sans)}.tp[data-v-98c343f3]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.tp-body[data-v-98c343f3]{flex:1;min-height:0;overflow-y:auto;margin:0;padding:12px 14px;font:var(--text-base)/var(--leading-relaxed) var(--font-ui);font-weight:var(--weight-regular);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.ap[data-v-59df0789]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--color-bg)}.ap-phase[data-v-59df0789]{flex:none}.ap-body[data-v-59df0789]{flex:1;min-height:0;overflow-y:auto;padding:12px 14px;font:var(--text-base)/var(--leading-normal) var(--font-ui);color:var(--color-text-muted)}.ap-type[data-v-59df0789]{font:var(--text-xs) var(--font-mono);color:var(--color-text-muted);margin-bottom:8px}.ap-reason[data-v-59df0789]{color:var(--color-warning);margin-bottom:8px}.ap-field+.ap-field[data-v-59df0789]{margin-top:12px}.ap-field-label[data-v-59df0789]{display:block;color:var(--color-text-muted);font:var(--text-xs) var(--font-mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.ap-field-body[data-v-59df0789]{white-space:pre-wrap;overflow-wrap:anywhere}.ap-progress[data-v-59df0789]{display:flex;flex-direction:column;gap:6px;font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);min-width:0}.ap-live[data-v-59df0789]{font:var(--text-base)/var(--leading-relaxed) var(--font-mono);color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere}.ap-group[data-v-59df0789]{min-width:0}.ap-call[data-v-59df0789]{display:flex;align-items:baseline;gap:6px;min-width:0;font-weight:var(--weight-medium);color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}.ap-glyph[data-v-59df0789]{flex:none;color:var(--color-accent);font-size:.85em}.ap-output[data-v-59df0789]{margin:2px 0 0 16px;padding-left:8px;color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-normal);border-left:2px solid var(--color-line);min-width:0}.ap-out-line[data-v-59df0789]{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.ap-fold[data-v-59df0789]{display:inline-block;margin:2px 0;padding:0;background:none;border:none;color:var(--color-accent);font:inherit;cursor:pointer}.ap-fold[data-v-59df0789]:hover{text-decoration:underline}.ap-fold[data-v-59df0789]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.diff-lines[data-v-26e24204]{padding:4px 0 12px;font-size:var(--ui-font-size);line-height:1.5;-webkit-overflow-scrolling:touch;width:max-content;min-width:100%}.dl[data-v-26e24204]{display:flex;align-items:flex-start;min-height:18px;white-space:pre;width:100%}.dl-gutter[data-v-26e24204]{flex:none;width:40px;padding:0 6px;text-align:right;color:var(--faint, #aeb4bc);background:var(--panel, #fafbfc);user-select:none;border-right:1px solid var(--line2, #eef1f4);font-variant-numeric:tabular-nums}.dl-gutter.new[data-v-26e24204]{border-right:1px solid var(--line, #e7eaee)}.dl-sign[data-v-26e24204]{flex:none;width:16px;text-align:center;color:var(--muted);user-select:none}.dl-text[data-v-26e24204]{flex:none;padding-right:14px;white-space:pre;color:var(--color-text)}.dl-add[data-v-26e24204]{background:var(--color-success-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-success) 55%,transparent)}.dl-add .dl-sign[data-v-26e24204]{color:var(--color-success)}.dl-del[data-v-26e24204]{background:var(--color-danger-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--color-danger) 55%,transparent)}.dl-del .dl-sign[data-v-26e24204]{color:var(--color-danger)}.diff-lines[data-theme] .dl-add[data-v-26e24204]{background:var(--dl-add-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-add) 55%,transparent)}.diff-lines[data-theme] .dl-add .dl-sign[data-v-26e24204]{color:var(--dl-add)}.diff-lines[data-theme] .dl-del[data-v-26e24204]{background:var(--dl-del-soft);box-shadow:inset 2px 0 color-mix(in srgb,var(--dl-del) 55%,transparent)}.diff-lines[data-theme] .dl-del .dl-sign[data-v-26e24204]{color:var(--dl-del)}.dl-hunk[data-v-26e24204]{background:var(--panel2, #f3f5f8)}.dl-hunk .hunk-text[data-v-26e24204]{flex:1;padding:1px 12px;color:var(--muted, #8b929b);font-style:normal}@media(max-width:640px){.diff-lines[data-v-26e24204]{overflow-x:auto;font-size:var(--ui-font-size)}}.tdp[data-v-76f2fbca]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.tdp-body[data-v-76f2fbca]{flex:1;min-height:0;overflow:auto;font-family:var(--mono)}.tdp-output[data-v-76f2fbca]{padding:8px 12px;color:var(--dim);font-size:var(--text-base);line-height:1.7;white-space:pre-wrap;word-break:break-word}.tdp-empty[data-v-76f2fbca]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.sc[data-v-867ab366]{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.sc-body[data-v-867ab366]{flex:1;min-height:0;overflow-y:auto}.sc-empty[data-v-867ab366]{padding:24px 16px;text-align:center;color:var(--muted);font-size:var(--ui-font-size)}.sc-composer[data-v-867ab366]{flex:none;display:flex;align-items:flex-end;gap:6px;padding:8px 10px;border-top:1px solid var(--line);background:var(--panel)}.sc-input[data-v-867ab366]{flex:1;min-width:0;resize:none;border:1px solid var(--line);border-radius:var(--radius-md);padding:7px 9px;background:var(--bg);color:var(--color-text);font:var(--ui-font-size)/1.5 var(--sans);outline:none;max-height:160px}.sc-input[data-v-867ab366]:focus{border-color:var(--color-accent-bd)}.sc-send[data-v-867ab366]{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-text-on-accent);cursor:pointer}.sc-send[data-v-867ab366]:disabled{opacity:.4;cursor:default}.sc-send[data-v-867ab366]:not(:disabled):hover{background:var(--color-accent-hover)}.sc-loading[data-v-867ab366]{flex:none;padding:8px 12px 12px}.sc-body[data-v-867ab366] .sending-placeholder,.sc-body[data-v-867ab366] .sending-line{display:none}.changes-pane[data-v-6591e558]{display:flex;flex-direction:column;height:100%;background:var(--bg);font-family:var(--mono)}.dv-path[data-v-6591e558],.dv-change-count[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--muted)}.dv-change-count[data-v-6591e558]{flex:1}.ch-head[data-v-6591e558]{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--line);background:var(--panel);font-size:var(--text-base);color:var(--dim);flex:none;white-space:nowrap;overflow:hidden}.br-label[data-v-6591e558]{color:var(--muted);font-size:max(9px,calc(var(--ui-font-size) - 3.5px))}.br-name[data-v-6591e558]{color:var(--color-accent);font-weight:500;font-size:var(--ui-font-size)}.sync-info[data-v-6591e558]{display:flex;align-items:center;gap:4px}.ahead[data-v-6591e558]{color:var(--color-accent);font-size:var(--text-base)}.behind[data-v-6591e558]{color:var(--color-warning);font-size:var(--text-base)}.empty-head[data-v-6591e558]{color:var(--muted);font-size:var(--text-base)}.ch-list[data-v-6591e558]{flex:1;overflow-y:auto;padding:4px 0}.ch-row[data-v-6591e558]{display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer;font-size:var(--ui-font-size);line-height:1.6;width:100%;background:none;border:none;text-align:left;font-family:inherit;color:inherit}.ch-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.ch-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.ch-tree[data-v-6591e558]{padding:4px 0}.tree-list[data-v-6591e558]{list-style:none;margin:0;padding:0}.tree-row[data-v-6591e558]{display:flex;align-items:center;gap:8px;width:100%;padding:5px 16px;background:none;border:none;text-align:left;font-family:inherit;font-size:var(--ui-font-size);color:inherit;cursor:pointer}.tree-row[data-v-6591e558]:hover{background:var(--panel2, #f5f6f8)}.tree-row[data-v-6591e558]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tree-folder[data-v-6591e558]{color:var(--color-text);font-weight:500}.tree-file[data-v-6591e558]{color:var(--color-text)}.tree-icon[data-v-6591e558]{flex:none;color:var(--muted)}.tree-name[data-v-6591e558]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-6591e558]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:var(--radius-xs);font-size:max(9px,calc(var(--ui-font-size) - 4px));font-weight:500;flex:none;user-select:none}.badge.modified[data-v-6591e558]{background:color-mix(in srgb,var(--color-accent) 12%,var(--bg));color:var(--color-accent)}.badge.added[data-v-6591e558]{background:color-mix(in srgb,var(--color-success) 10%,var(--bg));color:var(--color-success)}.badge.deleted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger)}.badge.renamed[data-v-6591e558]{background:color-mix(in srgb,var(--color-warning) 12%,var(--bg));color:var(--color-warning)}.badge.untracked[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.badge.conflicted[data-v-6591e558]{background:color-mix(in srgb,var(--color-danger) 10%,var(--bg));color:var(--color-danger);font-size:max(9px,calc(var(--ui-font-size) - 5px))}.badge.ignored[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--faint, #c0c5cc)}.badge.clean[data-v-6591e558]{background:transparent;color:var(--faint, #c0c5cc)}.badge.unknown[data-v-6591e558]{background:var(--color-surface-sunken);color:var(--muted, #9098a0)}.fpath[data-v-6591e558]{color:var(--color-text);font-size:var(--ui-font-size);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left;min-width:0}.empty-state[data-v-6591e558]{padding:32px 20px;color:var(--muted, #9098a0);font-size:var(--ui-font-size);text-align:center}.diff-head[data-v-6591e558]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px;padding:6px 12px;border-bottom:1px solid var(--line);background:var(--panel);flex:none;white-space:nowrap;overflow:hidden}.dv-cb-label[data-v-6591e558]{color:var(--muted);font-size:var(--ui-font-size-xs);font-family:var(--sans);white-space:nowrap}.dv-cb-toggle[data-v-6591e558]{margin-left:auto}.dv-lines-wrap[data-v-6591e558]{flex:1;min-height:0;overflow:auto}@media(max-width:640px){.ch-head[data-v-6591e558]{padding:10px 14px}.ch-list[data-v-6591e558]{padding:2px 0 12px}.ch-row[data-v-6591e558]{min-height:44px;padding:8px 14px;gap:12px;font-size:var(--ui-font-size-sm)}.ch-row[data-v-6591e558]:active{background:var(--panel2, #f5f6f8)}.badge[data-v-6591e558]{width:18px;height:18px}.fpath[data-v-6591e558]{font-size:var(--ui-font-size-sm)}.tree-row[data-v-6591e558]{min-height:40px;padding:8px 14px}.diff-head[data-v-6591e558]{padding:8px 12px;gap:10px}.dv-cb-label[data-v-6591e558]{display:none}.diff-path[data-v-6591e558]{font-size:var(--text-base)}}.changes-pane .empty-state[data-v-6591e558],.br-label[data-v-6591e558],.empty-head[data-v-6591e558]{font-family:var(--sans)}.ch-row[data-v-6591e558],.ct-row[data-v-6591e558]{margin:1px 6px;width:calc(100% - 12px);border-radius:var(--radius-md)}.changes-pane .badge[data-v-6591e558],.changed-tree .badge[data-v-6591e558]{border-radius:var(--radius-sm)}.change-count[data-v-6591e558]{font-family:var(--sans);border-radius:999px}.mp[data-v-56cefe51]{display:flex;flex-direction:column;gap:var(--space-2)}.search-wrap[data-v-56cefe51]{padding-bottom:var(--space-1)}.tab-strip[data-v-56cefe51]{display:flex;gap:var(--space-1);overflow-x:auto}.model-list[data-v-56cefe51]{display:flex;flex-direction:column;padding:var(--space-1) 0}.model-row[data-v-56cefe51]{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);min-width:0;transition:background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.model-row[data-v-56cefe51]:hover,.model-row.is-selected[data-v-56cefe51]{background:var(--color-surface-sunken)}.model-row.is-current[data-v-56cefe51]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.check[data-v-56cefe51]{width:14px;height:14px;color:var(--color-accent);flex:none;display:flex;align-items:center;justify-content:center}.model-main[data-v-56cefe51]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.model-name[data-v-56cefe51]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-id[data-v-56cefe51]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-provider[data-v-56cefe51]{flex:none;max-width:110px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-ctx[data-v-56cefe51]{flex:none;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.caps[data-v-56cefe51]{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.state-row[data-v-56cefe51]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-56cefe51]{color:var(--color-warning)}.empty[data-v-56cefe51]{padding:var(--space-5) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.footer-hint[data-v-56cefe51]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.model-provider[data-v-56cefe51],.caps[data-v-56cefe51]{display:none}}.ui-field[data-v-49bce958]{display:flex;flex-direction:column;gap:6px}.ui-field__label[data-v-49bce958]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.ui-field__hint[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-text-faint)}.ui-field__error[data-v-49bce958]{font-size:var(--text-xs);color:var(--color-danger)}.ui-select[data-v-92a040fd]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border:1px solid var(--color-line-strong);border-radius:var(--radius-md);background-color:var(--color-surface-raised);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px 16px;box-shadow:var(--shadow-xs);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);padding:0 var(--space-3);padding-right:calc(var(--space-3) + 16px + var(--space-2));cursor:pointer;transition:border-color var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}.ui-select--md[data-v-92a040fd]{height:38px}.ui-select--sm[data-v-92a040fd]{height:32px;font-size:var(--text-sm)}.ui-select[data-v-92a040fd]:hover:not(:disabled):not(:focus){border-color:var(--color-line-strong)}.ui-select[data-v-92a040fd]:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.ui-select[data-v-92a040fd]:disabled{opacity:.5;cursor:not-allowed}.ui-select.has-error[data-v-92a040fd]{border-color:var(--color-danger)}.ui-select.has-error[data-v-92a040fd]:focus{box-shadow:0 0 0 3px var(--color-danger-soft)}html[data-color-scheme=dark] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}@media(prefers-color-scheme:dark){html[data-color-scheme=system] .ui-select[data-v-92a040fd]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%239aa0a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}}.pm[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-4)}.prov-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-1)}.state-row[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.state-row.unavail[data-v-b1859ac1]{color:var(--color-warning)}.empty[data-v-b1859ac1]{padding:var(--space-4) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base)}.prov-row[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line);transition:background var(--duration-fast) var(--ease-out)}.prov-row[data-v-b1859ac1]:last-child{border-bottom:none}.status-dot[data-v-b1859ac1]{width:8px;height:8px;flex:none;border-radius:50%;box-sizing:border-box}.status-dot--empty[data-v-b1859ac1]{background:transparent;border:1.5px solid var(--color-text-faint)}.prov-info[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.prov-type[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.prov-url[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-meta[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.prov-actions[data-v-b1859ac1]{display:flex;gap:var(--space-2);flex:none;align-items:center;flex-wrap:wrap}.add-section[data-v-b1859ac1]{border-top:1px solid var(--color-line);padding-top:var(--space-4)}.add-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.add-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.add-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.form-btns[data-v-b1859ac1]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.import-form[data-v-b1859ac1]{display:flex;flex-direction:column;gap:var(--space-3)}.import-head[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2)}.import-title[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.import-error[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-danger)}.catalog-list[data-v-b1859ac1]{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.catalog-row[data-v-b1859ac1]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--radius-md);cursor:pointer;min-width:0;transition:background var(--duration-fast) var(--ease-out)}.catalog-row[data-v-b1859ac1]:hover,.catalog-row.is-selected[data-v-b1859ac1]{background:var(--color-surface-sunken)}.catalog-row.is-rejected[data-v-b1859ac1]{opacity:.55;cursor:not-allowed}.catalog-check[data-v-b1859ac1]{width:14px;height:14px;flex:none;color:var(--color-accent);display:flex;align-items:center;justify-content:center}.catalog-main[data-v-b1859ac1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.catalog-name[data-v-b1859ac1]{font-family:var(--font-ui);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-id[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-wire[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.catalog-meta[data-v-b1859ac1]{flex:none;display:flex;align-items:center;gap:var(--space-2);max-width:40%}.catalog-count[data-v-b1859ac1]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.catalog-selected[data-v-b1859ac1]{padding-top:var(--space-1)}.footer-hint[data-v-b1859ac1]{padding-top:var(--space-2);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint);border-top:1px solid var(--color-line)}@media(max-width:640px){.prov-row[data-v-b1859ac1]{align-items:flex-start;flex-wrap:wrap}.prov-actions[data-v-b1859ac1]{flex:1 1 100%;justify-content:flex-end}}.center-body[data-v-8308a28f]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0 var(--space-4);text-align:center}.center-text[data-v-8308a28f]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.success-text[data-v-8308a28f]{color:var(--color-success)}.err-text[data-v-8308a28f]{color:var(--color-danger)}.warn-text[data-v-8308a28f]{color:var(--color-warning);font-size:var(--text-base)}.center-hint[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted)}.nb[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-2) 0 var(--space-4)}.nb-lead[data-v-8308a28f]{font-size:var(--text-base);color:var(--color-text);line-height:var(--leading-normal)}.nb-primary[data-v-8308a28f]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.nb-primary[data-v-8308a28f]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.nb-or[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em}.nb-or[data-v-8308a28f]:before,.nb-or[data-v-8308a28f]:after{content:"";flex:1;height:1px;background:var(--color-line)}.nb-fallback[data-v-8308a28f]{display:flex;flex-direction:column;gap:var(--space-2)}.nb-fb-text[data-v-8308a28f]{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.nb-fb-link[data-v-8308a28f]{color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-bd)}.nb-fb-link[data-v-8308a28f]:hover{border-bottom-color:var(--color-accent)}.nb-code-row[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.nb-code[data-v-8308a28f]{flex:1;font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-medium);color:var(--color-text);letter-spacing:.14em}.nb-copy.is-copied[data-v-8308a28f]{color:var(--color-success);border-color:var(--color-success-bd)}.nb-status[data-v-8308a28f]{display:flex;align-items:center;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.nb-status-text[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);flex:1}.nb-countdown[data-v-8308a28f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.actions[data-v-8308a28f]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}@media(max-width:640px){.center-body[data-v-8308a28f],.nb[data-v-8308a28f]{overflow-y:auto;-webkit-overflow-scrolling:touch}.nb-code-row[data-v-8308a28f],.nb-status[data-v-8308a28f],.actions[data-v-8308a28f]{flex-wrap:wrap}.nb-code[data-v-8308a28f]{min-width:0;overflow-wrap:anywhere;letter-spacing:.08em}.nb-copy[data-v-8308a28f]{min-height:34px}.nb-primary[data-v-8308a28f]{min-height:44px}.nb-status-text[data-v-8308a28f]{min-width:0}}.media-lightbox[data-v-0ff39638]{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;outline:none}.ml-backdrop[data-v-0ff39638]{position:absolute;inset:0;background:#0d1117cc}.ml-close[data-v-0ff39638]{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-md)}.ml-close[data-v-0ff39638]:hover{background:var(--color-surface-sunken)}.ml-loading[data-v-0ff39638]{position:relative;z-index:1}.ml-viewport[data-v-0ff39638]{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:grab;touch-action:none}.ml-viewport[data-v-0ff39638]:active{cursor:grabbing}.ml-image[data-v-0ff39638]{max-width:92%;max-height:92%;object-fit:contain;user-select:none;transform-origin:center center;transition:transform .08s ease-out}.ml-zoom-hint[data-v-0ff39638]{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-raised);color:var(--color-text-muted);font-size:var(--text-xs);box-shadow:var(--shadow-sm);pointer-events:none}.ml-video[data-v-0ff39638]{position:relative;z-index:1;max-width:94%;max-height:94%;border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.ml-error[data-v-0ff39638]{position:relative;z-index:1;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface-raised);color:var(--color-text-muted)}.ml-toolbar[data-v-0ff39638]{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-raised);box-shadow:var(--shadow-md)}.ml-btn[data-v-0ff39638]{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--color-text);cursor:pointer}.ml-btn[data-v-0ff39638]:hover:not(:disabled){background:var(--color-surface-sunken)}.ml-btn[data-v-0ff39638]:disabled{opacity:.4;cursor:default}.ml-zoom-label[data-v-0ff39638]{min-width:48px;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted)}.ui-link[data-v-645e7d4e]{color:var(--color-accent);text-decoration:none;cursor:pointer;font:inherit;transition:color var(--duration-base) var(--ease-out)}.ui-link[data-v-645e7d4e]:hover{color:var(--color-accent-hover);text-decoration:underline}.ui-link[data-v-645e7d4e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring);border-radius:var(--radius-xs)}.ui-link--muted[data-v-645e7d4e]{color:var(--color-text-muted)}.ui-link--muted[data-v-645e7d4e]:hover{color:var(--color-text)}.ui-switch[data-v-e5aecc8e]{position:relative;width:36px;height:20px;flex:none;padding:0;border:none;border-radius:var(--radius-full);background:var(--color-line-strong);cursor:pointer;transition:background var(--duration-base) var(--ease-out)}.ui-switch.is-on[data-v-e5aecc8e]{background:var(--color-accent)}.ui-switch[data-v-e5aecc8e]:disabled{opacity:.5;cursor:not-allowed}.ui-switch[data-v-e5aecc8e]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.ui-switch__thumb[data-v-e5aecc8e]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--surface-light);box-shadow:var(--shadow-xs);transition:transform var(--duration-base) var(--ease-out)}.ui-switch.is-on .ui-switch__thumb[data-v-e5aecc8e]{background:var(--color-text-on-accent);transform:translate(16px)}.ps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-4)}.ext-hint[data-v-8c64da0f] .ui-banner__text{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.ext-hint-title[data-v-8c64da0f]{color:var(--color-text);font-weight:var(--weight-medium)}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:auto}.action-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-sec[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-3)}.plug-sec-head[data-v-8c64da0f]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.plug-title[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.plug-state[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm)}.plug-state.is-error[data-v-8c64da0f]{color:var(--color-danger)}.plug-list[data-v-8c64da0f]{display:flex;flex-direction:column;border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.plug-row[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.plug-row[data-v-8c64da0f]:first-child{border-top:none}.plug-row[data-v-8c64da0f]:hover{background:var(--color-surface-sunken)}.plug-info[data-v-8c64da0f]{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.plug-name[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.plug-display[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plug-version[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.plug-counts[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.plug-desc[data-v-8c64da0f]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted)}.plug-home[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs)}.plug-actions[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);flex:none}.cap-progress[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);max-width:420px}.cap-progress-text[data-v-8c64da0f]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.cap-progress-track[data-v-8c64da0f]{display:block;height:4px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.cap-progress-fill[data-v-8c64da0f]{display:block;height:100%;border-radius:var(--radius-full);background:var(--color-accent);transition:width var(--duration-base) var(--ease-out)}.cap-error[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-danger)}.cap-steps[data-v-8c64da0f]{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.cap-step[data-v-8c64da0f]{display:flex;align-items:center;gap:var(--space-2);min-width:0}.cap-step-ok[data-v-8c64da0f]{color:var(--color-success);flex:none}.cap-step-bad[data-v-8c64da0f]{color:var(--color-danger);flex:none}.cap-step-missing[data-v-8c64da0f]{width:14px;height:14px;flex:none;border-radius:50%;border:1.5px solid var(--color-text-faint);box-sizing:border-box}.cap-step-label[data-v-8c64da0f]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.plug-row[data-v-8c64da0f]{align-items:flex-start;flex-wrap:wrap}.plug-actions[data-v-8c64da0f]{flex:1 1 100%;justify-content:flex-end}.ext-hint-dismiss[data-v-8c64da0f]{margin-left:0}}.sd[data-v-ace56012]{display:flex;flex-direction:row;min-height:0;height:100%}.settings-tabs[data-v-ace56012]{display:flex;flex-direction:column;flex:none;width:148px;padding:var(--space-2);gap:2px;overflow-y:auto}.tab[data-v-ace56012]{text-align:left;padding:8px 10px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-base);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tab[data-v-ace56012]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tab.on[data-v-ace56012]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-medium)}.tab[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.body[data-v-ace56012]{display:flex;flex-direction:column;overflow-y:auto;padding:var(--space-2) var(--space-5) var(--space-5) var(--space-6);flex:1;min-width:0}.panel[data-v-ace56012]{display:block}.sec[data-v-ace56012]{padding:var(--space-4) 0;border-bottom:1px solid var(--color-line)}.sec[data-v-ace56012]:last-child{border-bottom:none}.sec-head[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.sec-title[data-v-ace56012]{margin:0 0 var(--space-3);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.sec-head .sec-title[data-v-ace56012]{margin-bottom:0}.saving[data-v-ace56012]{flex:none;font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-muted)}.row[data-v-ace56012]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:38px;padding:var(--space-1) 0}.rlabel[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-1)}.rvalue[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rvalue.mono[data-v-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs)}.hint[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--color-text-faint)}.num-field[data-v-ace56012]{display:inline-flex;align-items:center;gap:var(--space-2);flex:none;padding:0 var(--space-3);height:38px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.num-field[data-v-ace56012]:hover{border-color:var(--color-line-strong)}.num-field[data-v-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring)}.num-input[data-v-ace56012]{width:48px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--text-base);text-align:right}.num-unit[data-v-ace56012]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.select-wrap[data-v-ace56012]{min-width:220px;max-width:min(320px,50vw);flex:none}.empty-config[data-v-ace56012]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text-muted);padding:var(--space-1) 0}.plugins-panel[data-v-ace56012]{padding-top:var(--space-4)}.actions[data-v-ace56012]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}@media(max-width:640px){.sd[data-v-ace56012]{flex-direction:column}.settings-tabs[data-v-ace56012]{flex-direction:row;width:auto;padding:var(--space-2) var(--space-3);gap:var(--space-1);overflow-x:auto}.tab[data-v-ace56012]{white-space:nowrap;flex:none}.row[data-v-ace56012]{align-items:flex-start;flex-direction:column}.select-wrap[data-v-ace56012]{width:100%;max-width:none}}.setting-card[data-v-ace56012]{border:1px solid var(--color-line);border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg)}.panel-head[data-v-ace56012]{margin-bottom:var(--space-4)}.panel-kicker[data-v-ace56012]{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-1)}.panel-title[data-v-ace56012]{margin:0 0 var(--space-2);font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text)}.panel-desc[data-v-ace56012]{margin:0;font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);max-width:560px}.archive-toolbar[data-v-ace56012]{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.archive-search[data-v-ace56012]{flex:1;min-width:200px;height:36px;display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-line);color:var(--color-text-faint);font-size:var(--text-sm);background:var(--color-surface-raised);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.archive-search[data-v-ace56012]:focus-within{border-color:var(--color-accent);box-shadow:var(--p-focus-ring);color:var(--color-text-muted)}.archive-search svg[data-v-ace56012]{width:15px;height:15px;flex:none}.archive-search input[data-v-ace56012]{width:100%;border:none;outline:none;background:transparent;font:inherit;color:var(--color-text)}.archive-list[data-v-ace56012]{display:flex;flex-direction:column;gap:var(--space-4)}.archive-card .setting-card[data-v-ace56012]{margin-bottom:0}.archive-workspace[data-v-ace56012]{display:flex;align-items:center;gap:var(--space-2);margin:0 2px var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.archive-workspace svg[data-v-ace56012]{width:16px;height:16px;color:var(--color-text-faint);flex:none}.archive-workspace .path[data-v-ace56012]{font-family:var(--font-mono);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-workspace .count[data-v-ace56012]{margin-left:auto;color:var(--color-text-faint);font-weight:var(--weight-regular);font-size:var(--text-xs);flex:none}.archive-row[data-v-ace56012]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-line)}.archive-row[data-v-ace56012]:first-child{border-top:none}.archive-row[data-v-ace56012]:hover{background:var(--color-surface-sunken)}.archive-meta[data-v-ace56012]{min-width:0}.archive-name[data-v-ace56012]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-time[data-v-ace56012]{margin-top:2px;font-size:var(--text-xs);color:var(--color-text-faint);font-family:var(--font-mono)}.archive-draining[data-v-ace56012]{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-soft);color:var(--color-accent-hover);font-size:var(--text-sm)}.archive-empty[data-v-ace56012]{padding:var(--space-6) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-xl);color:var(--color-text-faint);font-size:var(--text-sm);text-align:center;background:var(--color-bg)}.archive-load-more[data-v-ace56012]{align-self:center;margin-top:var(--space-2);padding:6px 18px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-muted);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.archive-load-more[data-v-ace56012]:hover:not(:disabled){border-color:var(--color-line-strong);color:var(--color-text)}.archive-load-more[data-v-ace56012]:focus-visible{outline:none;box-shadow:var(--p-focus-ring)}.archive-load-more[data-v-ace56012]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.archive-toolbar[data-v-ace56012]{flex-direction:column;align-items:stretch}.archive-search[data-v-ace56012]{min-width:0}}[data-v-ace56012] .ui-dialog{width:min(980px,96vw)}[data-v-ace56012] .ui-dialog--fixed-height{height:min(780px,calc(100vh - var(--space-8) * 2))}.aw[data-v-a2c2e0eb]{margin-left:calc(-1 * var(--space-5));margin-right:calc(-1 * var(--space-5));margin-bottom:calc(-1 * var(--space-4))}.crumbbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.crumbs[data-v-a2c2e0eb]{display:flex;align-items:center;flex-wrap:wrap;gap:1px;min-width:0;font-size:var(--text-sm)}.crumb-sep[data-v-a2c2e0eb]{color:var(--color-text-muted)}.crumb[data-v-a2c2e0eb]{background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-muted);padding:1px var(--space-1);border-radius:var(--radius-xs)}.crumb[data-v-a2c2e0eb]:hover{color:var(--color-accent);background:var(--color-surface-sunken)}.crumb.last[data-v-a2c2e0eb]{color:var(--color-text);font-weight:var(--weight-medium)}.filterbar[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--color-line)}.filter-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.filter-input[data-v-a2c2e0eb]{flex:1;min-width:0;font-family:var(--font-ui);font-size:var(--text-base);padding:var(--space-1) 0;border:none;background:none;color:var(--color-text);outline:none}.filter-input[data-v-a2c2e0eb]::placeholder{color:var(--color-text-muted)}.search-rel[data-v-a2c2e0eb]{color:var(--color-text)}.filterbar.has-error[data-v-a2c2e0eb]{border-bottom-color:var(--color-danger)}.filterbar.has-error .filter-icon[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-list[data-v-a2c2e0eb]{height:300px;overflow-y:auto;padding:var(--space-1) var(--space-2)}.fl-loading[data-v-a2c2e0eb],.fl-empty[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.fl-note[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted)}.fl-error[data-v-a2c2e0eb]{color:var(--color-danger)}.folder-row[data-v-a2c2e0eb]{display:flex;align-items:center;gap:var(--space-2);width:100%;background:none;border:none;cursor:pointer;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);text-align:left;padding:var(--space-1) var(--space-4);border-radius:var(--radius-md)}.folder-row[data-v-a2c2e0eb]:hover{background:var(--color-surface-sunken)}.dir-icon[data-v-a2c2e0eb]{flex:none;width:var(--p-ic-sm);height:var(--p-ic-sm);color:var(--color-text-muted)}.folder-row:hover .dir-icon[data-v-a2c2e0eb]{color:var(--color-accent)}.folder-name[data-v-a2c2e0eb]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.degraded-hint[data-v-a2c2e0eb]{padding:var(--space-6) var(--space-5);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.add-error[data-v-a2c2e0eb]{margin:0 14px 8px;padding:6px 10px;font-family:var(--mono);font-size:var(--ui-font-size-xs);color:var(--color-danger);background:#b3261e14;border:1px solid rgba(179,38,30,.25);border-radius:var(--radius-xs)}.actions[data-v-a2c2e0eb]{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.footer-hint[data-v-a2c2e0eb]{padding:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);border-top:1px solid var(--color-line)}@media(max-width:640px){.folder-row[data-v-a2c2e0eb]{min-height:44px}.crumbbar[data-v-a2c2e0eb]{align-items:flex-start}.actions[data-v-a2c2e0eb]{flex-wrap:wrap}}.confirm-dialog__message[data-v-2e719024]{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.rows[data-v-5ba9ba29]{margin:0;padding:0}.row[data-v-5ba9ba29]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-base)}.row dt[data-v-5ba9ba29]{width:96px;flex:none;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.row dd[data-v-5ba9ba29]{margin:0;color:var(--color-text);font-weight:var(--weight-medium);display:flex;align-items:center;gap:var(--space-2);min-width:0}.row dd.plan-on[data-v-5ba9ba29],.row dd.swarm-on[data-v-5ba9ba29],.row dd.supermoon-on[data-v-5ba9ba29]{color:var(--color-accent)}.ctx-text[data-v-5ba9ba29]{flex:none}.bar[data-v-5ba9ba29]{width:80px;height:5px;border-radius:var(--radius-full);background:var(--color-line);overflow:hidden;flex:none}.bar i[data-v-5ba9ba29]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.rows[data-v-5ba9ba29]{overflow-y:auto;-webkit-overflow-scrolling:touch}.row[data-v-5ba9ba29]{align-items:flex-start;flex-direction:column;gap:var(--space-1);min-height:48px}.row dt[data-v-5ba9ba29]{width:auto}.row dd[data-v-5ba9ba29]{max-width:100%;flex-wrap:wrap}}.ui-toast[data-v-adc6f346]{display:flex;align-items:flex-start;gap:11px;width:360px;max-width:100%;padding:13px 14px;background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-family:var(--font-ui);line-height:1.45}.ui-toast__icon[data-v-adc6f346]{flex:none;width:20px;height:20px;margin-top:1px;border-radius:var(--radius-full);display:grid;place-items:center;background:var(--color-accent-soft);color:var(--color-accent)}.ui-toast__icon svg[data-v-adc6f346]{width:12px;height:12px}.ui-toast--success .ui-toast__icon[data-v-adc6f346]{background:var(--color-success-soft);color:var(--color-success)}.ui-toast--warning .ui-toast__icon[data-v-adc6f346]{background:var(--color-warning-soft);color:var(--color-warning)}.ui-toast--danger .ui-toast__icon[data-v-adc6f346]{background:var(--color-danger-soft);color:var(--color-danger)}.ui-toast--danger[data-v-adc6f346]{border-color:color-mix(in srgb,var(--color-danger) 35%,transparent)}.ui-toast__body[data-v-adc6f346]{flex:1;min-width:0}.ui-toast__title[data-v-adc6f346]{font-size:var(--text-base);font-weight:500;color:var(--color-text);overflow-wrap:anywhere}.ui-toast__msg[data-v-adc6f346]{margin-top:2px;font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:anywhere}.ui-toast--danger .ui-toast__msg[data-v-adc6f346]{color:var(--color-danger)}.ui-toast__close[data-v-adc6f346]{flex:none;margin:-3px -4px 0 0}.toasts[data-v-c92be17a]{position:fixed;right:16px;bottom:84px;display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);width:min(440px,calc(100vw - 32px));max-height:56vh;overflow-y:auto}.toast-enter-active[data-v-c92be17a],.toast-leave-active[data-v-c92be17a]{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.toast-enter-from[data-v-c92be17a],.toast-leave-to[data-v-c92be17a]{opacity:0;transform:translate(16px)}.toast-move[data-v-c92be17a]{transition:transform var(--duration-base) var(--ease-out)}.actions[data-v-c92be17a]{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.link[data-v-c92be17a]{border:0;padding:0;background:none;color:var(--color-accent);cursor:pointer;font:inherit;font-size:var(--ui-font-size-xs)}.link[data-v-c92be17a]:hover{text-decoration:underline}.details[data-v-c92be17a]{display:grid;gap:5px;margin:8px 0 0;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.detail-row[data-v-c92be17a]{display:grid;grid-template-columns:minmax(88px,.34fr) minmax(0,1fr);gap:8px}.detail-row dt[data-v-c92be17a]{color:var(--color-text-muted)}.detail-row dd[data-v-c92be17a]{margin:0;color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:640px){.toasts[data-v-c92be17a]{left:12px;right:12px;bottom:calc(var(--dock-h, 76px) + 8px);width:auto;max-height:50vh}.detail-row[data-v-c92be17a]{grid-template-columns:1fr;gap:2px}}.topbar[data-v-6b4b901f]{display:flex;align-items:center;gap:10px;height:calc(50px + var(--safe-top));flex:none;padding:var(--safe-top) max(12px,var(--safe-right)) 0 max(12px,var(--safe-left));border-bottom:1px solid var(--color-line);background:var(--color-bg);font-family:var(--font-ui)}.wsq[data-v-6b4b901f]{flex:none;width:28px;height:28px;border-radius:var(--radius-md);background:var(--color-text);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:var(--weight-medium);font-size:var(--ui-font-size-sm)}.tb-mid[data-v-6b4b901f]{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:center;gap:1px;background:none;border:none;padding:0;cursor:pointer;text-align:left}.tb-path[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:var(--ui-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .ws[data-v-6b4b901f]{color:var(--color-text)}.tb-path .sl[data-v-6b4b901f]{color:var(--color-text-faint)}.tb-path .se[data-v-6b4b901f]{color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-path .cv[data-v-6b4b901f]{color:var(--color-text-faint);flex:none}.tb-sub[data-v-6b4b901f]{display:flex;align-items:center;gap:5px;font-size:max(9px,calc(var(--ui-font-size) - 3.5px));color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-sub .rd[data-v-6b4b901f]{flex:none;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-faint)}.tb-sub .rd.on[data-v-6b4b901f]{background:var(--color-success)}.topbar .tb-path[data-v-6b4b901f]{font-family:var(--sans)}.sheet-root[data-v-745ee5a2]{position:fixed;inset:0;z-index:var(--z-overlay);display:flex;flex-direction:column;justify-content:flex-end}.sheet-scrim[data-v-745ee5a2]{position:absolute;inset:0;background:#0d111773}.sheet-panel[data-v-745ee5a2]{position:relative;background:var(--color-surface-raised);border:1px solid var(--color-line);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);max-height:86vh;display:flex;flex-direction:column;min-height:0;font-family:var(--font-ui);color:var(--color-text)}.sheet-grab[data-v-745ee5a2]{flex:none;align-self:center;width:56px;height:18px;padding:0;border:none;background:none;cursor:pointer;position:relative;margin-top:4px}.sheet-grab[data-v-745ee5a2]:after{content:"";position:absolute;left:50%;top:7px;transform:translate(-50%);width:38px;height:5px;border-radius:var(--radius-full);background:var(--color-line)}.sheet-head[data-v-745ee5a2]{flex:none;display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px}.sheet-title[data-v-745ee5a2]{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.sheet-body[data-v-745ee5a2]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,var(--safe-bottom))}.sheet-enter-active[data-v-745ee5a2],.sheet-leave-active[data-v-745ee5a2]{transition:opacity var(--duration-slow) var(--ease-out)}.sheet-enter-active .sheet-panel[data-v-745ee5a2],.sheet-leave-active .sheet-panel[data-v-745ee5a2]{transition:transform var(--duration-slow) var(--ease-out)}.sheet-enter-from[data-v-745ee5a2],.sheet-leave-to[data-v-745ee5a2]{opacity:0}.sheet-enter-from .sheet-panel[data-v-745ee5a2],.sheet-leave-to .sheet-panel[data-v-745ee5a2]{transform:translateY(102%)}.newrow[data-v-53fda211]{display:flex;align-items:center;gap:10px;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;border-radius:var(--radius-md);color:var(--color-accent);font-weight:500;font-size:var(--text-base);cursor:pointer;text-align:left}.newrow[data-v-53fda211]:hover,.newrow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]{padding-top:var(--space-2);padding-bottom:var(--space-2);color:var(--color-text-muted);font-weight:400}.newrow.secondary[data-v-53fda211]:hover{background:var(--color-surface-sunken)}.newrow.secondary[data-v-53fda211]:active{background:var(--color-surface-sunken);color:var(--color-text)}.mlist[data-v-53fda211]{--m-pad: 16px;--m-gutter: 15px;--m-gap: 8px;--m-indent: calc(var(--m-pad) + var(--m-gutter) + var(--m-gap));padding-bottom:var(--space-1)}.mempty[data-v-53fda211]{padding:var(--space-6) var(--space-4);text-align:center;color:var(--color-text-faint);font-size:var(--ui-font-size)}.mempty.small[data-v-53fda211]{padding:10px 16px 12px var(--m-indent);text-align:left;font-size:var(--ui-font-size-xs)}.mgroup[data-v-53fda211]{padding-top:2px}.mgh[data-v-53fda211]{display:flex;align-items:center;gap:var(--m-gap);padding:10px var(--m-pad) 6px;border-radius:var(--radius-md);cursor:pointer;user-select:none;position:relative}.mgh[data-v-53fda211]:hover,.mgh[data-v-53fda211]:active{background:var(--color-surface-sunken)}.mgh-folder[data-v-53fda211]{flex:none;color:var(--color-text-muted)}.mgh-main[data-v-53fda211]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.mgh-name[data-v-53fda211]{font-size:var(--ui-font-size-lg);font-weight:var(--weight-medium);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-path[data-v-53fda211]{font-size:var(--text-base);font-weight:var(--weight-regular);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgh-add[data-v-53fda211]{margin:-10px -12px -10px 0}.mgh-add[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.mgh-more[data-v-53fda211]{margin:-10px -8px}.mgh-more[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.srow[data-v-53fda211]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--m-pad) var(--space-3) var(--m-indent);border-radius:var(--radius-md);cursor:pointer;position:relative}.srow[data-v-53fda211]:hover,.srow[data-v-53fda211]:active{background:var(--color-surface-sunken)}.srow.cur[data-v-53fda211]{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.srow .m[data-v-53fda211]{flex:1;min-width:0}.srow .m .t[data-v-53fda211]{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-tight);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow.cur .m .t[data-v-53fda211]{color:var(--color-accent-hover)}.srow .m .t.run[data-v-53fda211]{position:relative}.srow .m .t.run[data-v-53fda211]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-accent);animation:mRunPulse-53fda211 1.4s ease-in-out infinite}@keyframes mRunPulse-53fda211{0%,to{opacity:1}50%{opacity:.35}}.srow .m .t.aborted[data-v-53fda211]{position:relative}.srow .m .t.aborted[data-v-53fda211]:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-danger)}.srow .m .s[data-v-53fda211]{font-size:var(--text-base);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-faint);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att[data-v-53fda211]{flex:none;font-family:var(--font-mono);font-size:max(9px,calc(var(--ui-font-size) - 4px));color:var(--surface-light);background:var(--color-warning);border-radius:var(--radius-full);padding:1px 7px}.srow .kb[data-v-53fda211]:active{color:var(--color-text);background:var(--color-surface-sunken)}.kmenu[data-v-53fda211]{position:absolute;right:12px;top:44px;z-index:var(--z-dropdown);min-width:96px;overflow:hidden}.wsmenu[data-v-53fda211]{top:calc(100% - 4px);right:var(--m-pad);min-width:132px}.mshow-more[data-v-53fda211]{display:flex;align-items:center;width:100%;min-height:44px;padding:var(--space-1) var(--m-pad) var(--space-1) var(--m-indent);background:none;border:none;color:var(--color-text-muted);font-size:var(--text-base);cursor:pointer;text-align:left}.mshow-more[data-v-53fda211]:active{color:var(--color-accent-hover);background:var(--color-surface-sunken)}.newrow[data-v-53fda211]{font-family:var(--sans)}.mlist .srow[data-v-53fda211]{margin:1px 8px;border-radius:var(--radius-md);border-bottom:none;padding:12px calc(var(--m-pad, 16px) - 8px) 12px calc(var(--m-indent, 39px) - 8px)}.mlist .srow.cur[data-v-53fda211]{box-shadow:inset 0 0 0 1px var(--color-accent-bd)}.group-title[data-v-2ff34053]{padding:var(--space-3) var(--space-3) var(--space-1);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.srow[data-v-2ff34053]{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:52px;padding:var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--color-text)}.srow[data-v-2ff34053]:hover:not(.read-only){background:var(--color-surface-sunken)}.srow[data-v-2ff34053]:active:not(.read-only){background:var(--color-surface-sunken)}.srow.read-only[data-v-2ff34053]{cursor:default}.srow-main[data-v-2ff34053]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.srow-label[data-v-2ff34053]{font-size:var(--text-base);color:var(--color-text)}.srow-sub[data-v-2ff34053]{font-size:var(--text-base);color:var(--color-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-val[data-v-2ff34053]{flex:none;font-family:var(--font-mono);font-size:var(--ui-font-size);font-weight:500;color:var(--color-accent-hover)}.srow-val.dim[data-v-2ff34053]{font-weight:400;color:var(--color-text-muted)}.cache-note[data-v-2ff34053]{padding:0 var(--space-3) var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.4}.chev[data-v-2ff34053]{flex:none;color:var(--color-text-faint);font-size:17px;line-height:1}.toggle[data-v-2ff34053]{flex:none;width:44px;height:26px;border-radius:var(--radius-full);background:var(--color-line);position:relative;transition:background .18s}.toggle.on[data-v-2ff34053]{background:var(--color-accent)}.toggle[data-v-2ff34053]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:var(--radius-full);box-sizing:border-box;background:var(--color-bg);border:1px solid var(--color-line);box-shadow:var(--shadow-xs);transition:left .18s}.toggle.on[data-v-2ff34053]:after{left:21px}.srow.pref[data-v-2ff34053]{cursor:default}.num-field[data-v-2ff34053]{display:inline-flex;align-items:center;gap:6px;flex:none;height:34px;padding:0 9px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-bg)}.num-input[data-v-2ff34053]{width:50px;border:none;outline:none;background:transparent;color:var(--color-text);font-family:var(--font-mono);font-size:var(--ui-font-size);text-align:right}.num-unit[data-v-2ff34053]{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--ui-font-size-xs)}.srow.acct.in .srow-label[data-v-2ff34053]{color:var(--color-accent-hover);font-weight:500}.srow.acct.out .srow-label[data-v-2ff34053]{color:var(--color-danger)}.ctx-meter[data-v-2ff34053]{flex:none;width:96px;height:7px;border-radius:var(--radius-full);background:var(--color-surface-sunken);overflow:hidden}.ctx-meter i[data-v-2ff34053]{display:block;height:100%;background:var(--color-accent)}@media(max-width:640px){.srow[data-v-2ff34053]{align-items:flex-start;gap:10px;min-width:0;padding:14px max(14px,var(--safe-right)) 14px max(14px,var(--safe-left))}.group-title[data-v-2ff34053],.cache-note[data-v-2ff34053]{padding-left:max(14px,var(--safe-left));padding-right:max(14px,var(--safe-right))}.srow-main[data-v-2ff34053]{flex:1 1 auto}.srow-sub[data-v-2ff34053]{white-space:normal;overflow-wrap:anywhere}.srow.pref[data-v-2ff34053]{flex-wrap:wrap}.srow.pref .srow-main[data-v-2ff34053]{flex:1 0 100%}.num-field[data-v-2ff34053]{margin-left:auto}.srow-val[data-v-2ff34053],.chev[data-v-2ff34053],.toggle[data-v-2ff34053],.ctx-meter[data-v-2ff34053]{margin-top:2px}}.srow[data-v-2ff34053],.srow-sub[data-v-2ff34053],.srow-val[data-v-2ff34053],.cache-note[data-v-2ff34053]{font-family:var(--sans)}.arch-subhead[data-v-2ff34053]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-1)}.arch-back[data-v-2ff34053]{display:inline-flex;align-items:center;gap:2px;border:none;background:none;padding:var(--space-1) var(--space-2) var(--space-1) 0;font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-accent-hover);cursor:pointer}.chev.back[data-v-2ff34053]{font-size:20px}.arch-count[data-v-2ff34053]{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.arch-tools[data-v-2ff34053]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.arch-search-input[data-v-2ff34053]{flex:1;min-width:160px}.arch-row[data-v-2ff34053]{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-line)}.arch-row[data-v-2ff34053]:first-of-type{border-top:none}.arch-meta[data-v-2ff34053]{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.arch-name[data-v-2ff34053]{font-family:var(--font-ui);font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.arch-time[data-v-2ff34053]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint)}.arch-empty[data-v-2ff34053]{padding:var(--space-6) var(--space-4);text-align:center;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--color-text-faint)}.ob-brand[data-v-fbdd3eab]{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.ob-brand-text[data-v-fbdd3eab]{min-width:0}.ob-logo[data-v-fbdd3eab]{width:52px;height:36px;flex:none}.ob-title[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--weight-medium)}.ob-sub[data-v-fbdd3eab]{color:var(--color-text-muted);font-size:var(--text-base);margin-top:1px}.ob-sec[data-v-fbdd3eab]{margin-bottom:var(--space-4)}.ob-label[data-v-fbdd3eab]{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.ob-start[data-v-fbdd3eab]{width:100%}.ob-eyes[data-v-fbdd3eab]{animation:ob-eye-look-fbdd3eab 6s ease-in-out infinite}.ob-eye[data-v-fbdd3eab]{transform-box:fill-box;transform-origin:center;animation:ob-eye-blink-fbdd3eab 4s ease-in-out infinite}@keyframes ob-eye-look-fbdd3eab{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes ob-eye-blink-fbdd3eab{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ob-eyes[data-v-fbdd3eab],.ob-eye[data-v-fbdd3eab]{animation:none}}.gload[data-v-0b6dec6a]{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;min-width:100vw;min-height:100dvh;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;background:var(--bg)}.gload-box[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:22px;transform:translateY(-6%)}.gload-logo[data-v-0b6dec6a]{width:128px;height:auto;color:var(--color-text);animation:gload-pop-0b6dec6a .55s cubic-bezier(.22,1,.36,1) both}.gload-text[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-base);color:var(--muted);letter-spacing:.04em}.gload-issue[data-v-0b6dec6a]{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:min(480px,80vw);font-family:var(--sans);font-size:var(--text-sm);color:var(--muted);text-align:center}.gload-issue-detail[data-v-0b6dec6a]{font-family:var(--mono);font-size:var(--text-xs);color:var(--muted);opacity:.8;word-break:break-word}@keyframes gload-pop-0b6dec6a{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.gload-logo[data-v-0b6dec6a]{animation:none}}.gload-text[data-v-0b6dec6a]{font-family:var(--sans)}.kap-root[data-v-3cda6fe3]{height:100vh;display:flex;flex-direction:column;background:var(--bg);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 2.5px);color:var(--color-text)}.kap-head[data-v-3cda6fe3]{flex:none;display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.kap-count[data-v-3cda6fe3]{color:var(--muted)}.kap-head-actions[data-v-3cda6fe3]{margin-left:auto;display:flex;gap:6px}.kap-head-actions button[data-v-3cda6fe3],.kap-view-toggle button[data-v-3cda6fe3]{padding:3px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);font:inherit;cursor:pointer}.kap-head-actions button[data-v-3cda6fe3]:hover,.kap-view-toggle button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-head-actions button.on[data-v-3cda6fe3],.kap-view-toggle button.on[data-v-3cda6fe3]{color:var(--color-accent-hover);border-color:var(--color-accent-bd);background:var(--color-accent-soft)}.kap-filters[data-v-3cda6fe3]{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line)}.kap-filters select[data-v-3cda6fe3],.kap-filters input[type=text][data-v-3cda6fe3]{padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--color-text);font:inherit;min-width:0}.kap-filters input[type=text][data-v-3cda6fe3]{flex:1;min-width:120px}.kap-check[data-v-3cda6fe3]{display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}.kap-view-toggle[data-v-3cda6fe3]{display:flex;gap:0}.kap-view-toggle button[data-v-3cda6fe3]:first-child{border-radius:6px 0 0 6px;border-right:none}.kap-view-toggle button[data-v-3cda6fe3]:last-child{border-radius:0 6px 6px 0}.kap-list[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto}.kap-empty[data-v-3cda6fe3]{padding:18px 12px;color:var(--muted);text-align:center}.kap-row[data-v-3cda6fe3]{display:flex;align-items:baseline;gap:7px;width:100%;padding:3px 10px;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.kap-row[data-v-3cda6fe3]:hover{background:var(--panel2)}.kap-row.expanded[data-v-3cda6fe3]{background:var(--color-accent-soft)}.kap-ts[data-v-3cda6fe3]{flex:none;color:var(--muted)}.kap-badge[data-v-3cda6fe3]{flex:none;padding:0 5px;border-radius:var(--radius-sm);font-size:max(9px,calc(var(--ui-font-size) - 4.5px));font-weight:500;line-height:1.7}.b-rest[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-accent-hover)}.b-in[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-success)}.b-out[data-v-3cda6fe3]{background:var(--color-accent-soft);color:var(--color-warning)}.b-life[data-v-3cda6fe3]{background:var(--panel2);color:var(--muted)}.b-err[data-v-3cda6fe3]{background:var(--color-warning);color:var(--bg)}.kap-label[data-v-3cda6fe3]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kap-detail[data-v-3cda6fe3]{border-bottom:1px solid var(--line);background:var(--bg);padding:6px 10px 10px}.kap-detail-actions[data-v-3cda6fe3]{display:flex;justify-content:flex-end;margin-bottom:4px}.kap-detail-actions button[data-v-3cda6fe3]{padding:2px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--muted);font:inherit;cursor:pointer}.kap-detail-actions button[data-v-3cda6fe3]:hover{color:var(--color-text)}.kap-detail pre[data-v-3cda6fe3]{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:calc(var(--ui-font-size) - 3px);line-height:1.45}.kap-agg[data-v-3cda6fe3]{flex:1;min-height:0;overflow-y:auto;padding:8px 10px}.kap-agg h4[data-v-3cda6fe3]{margin:8px 0 4px;font-size:calc(var(--ui-font-size) - 2.5px);color:var(--muted)}.kap-agg table[data-v-3cda6fe3]{width:100%;border-collapse:collapse}.kap-agg th[data-v-3cda6fe3],.kap-agg td[data-v-3cda6fe3]{padding:3px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.kap-agg th[data-v-3cda6fe3]{color:var(--muted);font-weight:500}.kap-agg .num[data-v-3cda6fe3]{text-align:right}.kap-agg .err[data-v-3cda6fe3]{color:var(--color-warning);font-weight:500}.kap-agg .mono[data-v-3cda6fe3]{word-break:break-all}.kap-fab[data-v-21346738]{position:fixed;right:10px;bottom:10px;z-index:var(--z-overlay);padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-family:var(--mono);font-size:calc(var(--ui-font-size) - 3px);font-weight:500;letter-spacing:.04em;cursor:pointer;opacity:.75}.kap-fab[data-v-21346738]:hover{opacity:1;color:var(--color-accent)}.server-auth-overlay[data-v-469e14bc]{position:fixed;inset:0;z-index:var(--z-max);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-bg) 70%,transparent)}.server-auth-card[data-v-469e14bc]{width:480px;max-width:calc(100vw - 48px);background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;color:var(--color-text);font-family:var(--font-ui)}.server-auth-head[data-v-469e14bc]{display:flex;flex-direction:column;padding:20px 22px 14px}.server-auth-title[data-v-469e14bc]{margin:0;font-size:var(--text-lg);font-weight:var(--weight-medium);letter-spacing:-.01em;color:var(--color-text)}.server-auth-hint[data-v-469e14bc]{margin:4px 0 0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.server-auth-hint code[data-v-469e14bc]{padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-surface-sunken);border-radius:var(--radius-xs)}.server-auth-body[data-v-469e14bc]{padding:4px 22px 18px}.server-auth-foot[data-v-469e14bc]{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 20px}.internal-build-tag[data-v-086c00dc]{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;background:var(--color-logo-dev);color:var(--color-on-logo-dev);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.01em;line-height:1.4;white-space:nowrap;user-select:none}.gload-fade-leave-active[data-v-59580251]{transition:opacity .28s ease}.gload-fade-leave-to[data-v-59580251]{opacity:0}.app-shell[data-v-59580251]{position:fixed;top:var(--app-top, 0px);left:0;right:0;height:100vh;height:100dvh;height:var(--app-height, 100dvh);display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.auth-page[data-v-59580251]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg);color:var(--color-text);box-sizing:border-box}.auth-page-inner[data-v-59580251]{width:min(420px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:18px}.auth-page-logo[data-v-59580251]{width:64px;height:44px;flex:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .18s ease}.auth-page-logo[data-v-59580251]:hover{transform:scale(1.06)}.auth-page-copy[data-v-59580251]{display:flex;flex-direction:column;gap:8px}.auth-page-copy h1[data-v-59580251]{margin:0;font-family:var(--sans);font-size:30px;line-height:1.15;font-weight:500;letter-spacing:0;color:var(--color-text)}.auth-page-copy p[data-v-59580251]{margin:0;font-family:var(--sans);font-size:var(--ui-font-size-lg);line-height:1.55;color:var(--dim)}.app[data-v-59580251]{--preview-w: 460px;flex:1;min-height:0;position:relative;display:grid;grid-template-columns:auto 0 minmax(0,1fr) 0 auto;background:var(--bg);color:var(--color-text);overflow:hidden;box-sizing:border-box}.app[data-v-59580251]>*{min-height:0;min-width:0}.app>.side[data-v-59580251]{grid-column:1}.side-handle[data-v-59580251]{grid-column:2}.app:not(.mobile)>.con[data-v-59580251]{grid-column:3}.preview-handle[data-v-59580251]{grid-column:4}.sidebar-toggle-btn[data-v-59580251]{position:absolute;top:11px;left:16px;z-index:var(--z-sticky);animation:sidebar-toggle-btn-in-59580251 .18s var(--ease-out) .12s backwards;-webkit-app-region:no-drag}.app.macos-desktop .sidebar-toggle-btn[data-v-59580251]{left:72px;animation:none}@keyframes sidebar-toggle-btn-in-59580251{0%{opacity:0}}.internal-build-fab[data-v-59580251]{position:absolute;right:var(--space-3);bottom:var(--space-3);z-index:var(--z-sticky);pointer-events:none}.app.mobile[data-v-59580251]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.global-preview[data-v-59580251]{grid-column:5;min-width:0;min-height:0;width:0;background:var(--bg);overflow:hidden;transition:width .28s cubic-bezier(.4,0,.2,1)}.global-preview.open[data-v-59580251]{width:var(--preview-w)}.global-preview.no-anim[data-v-59580251]{transition:none}.global-preview[data-v-59580251]:not(.overlay)>*{width:var(--preview-w);height:100%;box-sizing:border-box;border-left:1px solid var(--line)}.global-preview.overlay[data-v-59580251]{position:fixed;inset:0;z-index:var(--z-sticky);width:auto;transition:none;border-top:2px solid var(--color-text)}@media(max-width:640px){.auth-page[data-v-59580251]{align-items:flex-start;padding:max(48px,var(--safe-top)) max(20px,var(--safe-right)) max(24px,var(--safe-bottom)) max(20px,var(--safe-left))}.auth-page-copy h1[data-v-59580251]{font-size:26px}.auth-page-btn[data-v-59580251]{width:100%}}:root{--panel-head-h: 48px}.app:not(.mobile) .chat-header{transition:padding-left .28s cubic-bezier(.4,0,.2,1)}.app.sidebar-collapsed .chat-header{padding-left:52px}.app.sidebar-collapsed.macos-desktop .chat-header{padding-left:108px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}p,blockquote,dl,dd,figure,pre{margin:0}ol,ul,menu{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:inherit}b,strong{font-weight:var(--weight-medium)}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{margin:0;padding:0;font-family:inherit;font-size:100%;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background:transparent;background-image:none}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block}img,video{max-width:100%;height:auto}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1}table{border-collapse:collapse;border-color:inherit;text-indent:0}hr{height:0;color:inherit;border-top-width:1px}fieldset{margin:0;padding:0}legend{padding:0}dialog{padding:0}summary{display:list-item}[hidden]{display:none}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}}:root{--dim: #595959;--muted: #8a8a8a;--faint: #b5b5b5;--line: #e9edf3;--line2: #f1f4f8;--canvas: #f4f6fa;--sh: 0 1px 3px rgba(28, 40, 66, .05), 0 6px 18px rgba(28, 40, 66, .06);--shc: 0 1px 2px rgba(28, 40, 66, .05);--panel: #fafbfc;--panel2: #f3f5f8;--bg: #ffffff;--blue: #1783ff;--blue2: #0f6fe0;--soft: #e8f3ff;--bd: #cfe6ff;--logo: #1783ff;--bluebg: #e8f3ff;--blueln: #cfe6ff;--ok: #0e7a38;--warn: #a9610a;--star: #eab308;--err: #c0392b;--hover: rgba(0, 0, 0, .05);--r-xs: var(--radius-sm);--r-sm: var(--radius-md);--r-md: var(--radius-lg);--r-lg: var(--radius-xl);--base-ui-font-size: 14px;--ui-font-size: var(--base-ui-font-size);--ui-font-size-sm: calc(var(--ui-font-size) - 1px);--ui-font-size-xs: calc(var(--ui-font-size) - 2px);--ui-font-size-lg: calc(var(--ui-font-size) + 1px);--ui-font-size-xl: calc(var(--ui-font-size) + 2px);--content-font-size: calc(var(--base-ui-font-size) + 1px);--mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans: var(--font-ui);color-scheme:light dark}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px)}.kw-icon{display:inline-block;flex:none;vertical-align:-.15em}code,pre,kbd,samp,tt{font-feature-settings:"liga" 0,"calt" 0,"ss01" 0;font-variant-ligatures:none}html[data-color-scheme=light]{color-scheme:light}html[data-color-scheme=system]{color-scheme:light dark}html[data-color-scheme=dark]{color-scheme:dark;--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--dim: #9aa0a8;--muted: #727983;--faint: #525960;--line: #2d333b;--line2: #22272e;--panel: #1c2128;--panel2: #161b22;--bg: #0d1117;--blue: #58a6ff;--blue2: #79b8ff;--soft: #1f2937;--bd: #1f6feb;--logo: #58a6ff;--bluebg: #1c2a3a;--blueln: #1f4f7a;--ok: #3fb950;--warn: #d29922;--star: #facc15;--err: #f85149;--hover: rgba(255, 255, 255, .07);--canvas: #161b22;--sh: 0 1px 3px rgba(0, 0, 0, .35), 0 6px 18px rgba(0, 0, 0, .4);--shc: 0 1px 2px rgba(0, 0, 0, .35)}}html[data-accent=mono]{--accent-primary: #171717;--color-accent: #171717;--color-accent-hover: #383838;--color-accent-soft: #f1f1f2;--color-accent-bd: #d4d4d8;--blue: #171717;--blue2: #383838;--soft: #f1f1f2;--bd: #d4d4d8;--bluebg: #f4f4f5;--blueln: #e4e4e7;--logo: #171717}html[data-color-scheme=dark][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}@media(prefers-color-scheme:dark){html[data-color-scheme=system][data-accent=mono]{--accent-primary: #e8eaed;--color-accent: #e8eaed;--color-accent-hover: #c9cdd4;--color-accent-soft: #21262d;--color-accent-bd: #444c56;--color-text-on-accent: var(--color-bg);--blue: #e8eaed;--blue2: #c9cdd4;--soft: #21262d;--bd: #444c56;--bluebg: #21262d;--blueln: #30363d;--logo: #e8eaed}}:root{--accent-primary: #1783ff;--accent-secondary: #6b7280;--surface-light: #ffffff;--surface-dark: #0d1117;--color-bg: #ffffff;--color-surface: #fafbfc;--color-surface-raised: #ffffff;--color-surface-sunken: #f3f5f8;--color-media-alpha-bg-1: color-mix(in srgb, var(--color-bg) 52%, var(--color-text) 48%);--color-media-alpha-bg-2: color-mix(in srgb, var(--color-bg) 42%, var(--color-text) 58%);--media-alpha-canvas: conic-gradient( var(--color-media-alpha-bg-1) 25%, var(--color-media-alpha-bg-2) 0 50%, var(--color-media-alpha-bg-1) 0 75%, var(--color-media-alpha-bg-2) 0 ) 0 0 / 16px 16px;--color-text: rgba(0, 0, 0, .9);--color-text-muted: #6b7280;--color-text-faint: #9aa3af;--color-text-on-accent: #ffffff;--color-line: #e7eaee;--color-line-strong: #d4d9e0;--color-selected: #00000014;--color-hover: #0000000d;--color-sidebar-bg: #fbfaf9;--color-accent: var(--accent-primary);--color-accent-hover: #0f6fe0;--color-accent-soft: #e8f3ff;--color-accent-bd: #cfe6ff;--color-success: #0e7a38;--color-success-soft: #e7f6ee;--color-success-bd: #bfe3cc;--color-warning: #a9610a;--color-warning-soft: #fbf1e0;--color-warning-bd: #f0d9b8;--color-danger: #c0392b;--color-danger-soft: #fbeaea;--color-danger-bd: #f0cccc;--color-done: #8250df;--color-done-soft: #f3e8ff;--color-done-bd: #e0ccff;--color-info: var(--accent-primary);--color-logo-dev: #f5b301;--color-on-logo-dev: #3a2a00;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 999px;--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-tooltip: 250;--z-overlay: 300;--z-modal: 400;--z-toast: 600;--z-max: 9999;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);--shadow-md: 0 4px 12px rgba(16, 24, 40, .07), 0 2px 4px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12), 0 4px 10px rgba(16, 24, 40, .08);--shadow-xl: 0 24px 64px rgba(16, 24, 40, .18), 0 8px 20px rgba(16, 24, 40, .1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .16s;--duration-slow: .26s;--font-ui: "Inter Variable", "Inter", "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-display: var(--font-ui);--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 700;--p-focus-ring: 0 0 0 3px var(--color-accent-soft);--p-focus-ring-strong: 0 0 0 3px var(--color-accent-soft), 0 0 0 1px var(--color-accent);--p-selection: rgba(23, 131, 255, .18);--p-ic-sm: 14px;--p-ic-md: 16px;--p-ic-lg: 20px;--p-sidebar-w: 264px;--p-content-max: 760px;--p-content-wide: 920px;--p-table-max: 1040px;--p-table-cell-max: 700px;--p-bp-sm: 640px;--p-bp-md: 980px}html[data-color-scheme=dark]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}@media(prefers-color-scheme:dark){html[data-color-scheme=system]{--accent-primary: #58a6ff;--color-bg: #0d1117;--color-surface: #161b22;--color-surface-raised: #1c2128;--color-surface-sunken: #0d1117;--color-text: #c9cdd4;--color-text-muted: #9aa0a8;--color-text-faint: #6b7280;--color-line: #2d333b;--color-line-strong: #3d444d;--color-selected: #ffffff14;--color-hover: #ffffff0d;--color-sidebar-bg: #181817;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-accent-soft: rgba(88, 166, 255, .14);--p-selection: rgba(88, 166, 255, .32);--color-accent-bd: rgba(88, 166, 255, .28);--color-success: #3fb950;--color-success-soft: rgba(63, 185, 80, .14);--color-success-bd: rgba(63, 185, 80, .28);--color-warning: #d29922;--color-warning-soft: rgba(210, 153, 34, .14);--color-warning-bd: rgba(210, 153, 34, .28);--color-danger: #f85149;--color-danger-soft: rgba(248, 81, 73, .14);--color-danger-bd: rgba(248, 81, 73, .28);--color-done: #a371f7;--color-done-soft: rgba(163, 113, 247, .14);--color-done-bd: rgba(163, 113, 247, .28);--color-info: #58a6ff;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22), 0 1px 3px rgba(0, 0, 0, .18);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .24);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .34), 0 4px 10px rgba(0, 0, 0, .28);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .42), 0 8px 20px rgba(0, 0, 0, .32)}}html,body,#app{height:100%;margin:0;background:var(--bg)}#app{position:fixed;inset:0}html,body{overflow:hidden}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(128,128,128,.3) transparent}}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#8080804d;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#80808080}*::-webkit-scrollbar-corner{background:transparent}body{font-family:var(--sans);color:var(--color-text);background:var(--bg);font-size:var(--ui-font-size);font-weight:400;line-height:1.6;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;font-synthesis:none;text-size-adjust:100%;-webkit-hyphens:none;hyphens:none}@media(max-width:640px){.backdrop{align-items:flex-end;justify-content:stretch}.backdrop .dialog{width:100%;max-width:100%;max-height:88vh;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;border-top:1px solid var(--line);box-shadow:0 -10px 30px #0000002e;animation:kimi-sheet-up .26s cubic-bezier(.4,0,.2,1)}}@keyframes kimi-sheet-up{0%{transform:translateY(101%)}to{transform:translateY(0)}}.backdrop,.ob-backdrop{min-width:100vw!important;min-height:100vh!important;min-height:100dvh!important}@keyframes kimi-card-in{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kimi-check-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.ch-eyes{animation:kimi-eye-look 16s ease-in-out infinite}.ch-eye{transform-box:fill-box;transform-origin:center;animation:kimi-eye-blink 11s ease-in-out infinite}@keyframes kimi-eye-look{0%,42%{transform:translate(0)}47%,53%{transform:translate(2px)}58%,80%{transform:translate(0)}84%,90%{transform:translate(-2px)}95%,to{transform:translate(0)}}@keyframes kimi-eye-blink{0%,94%,to{transform:scaleY(1)}96.5%,98%{transform:scaleY(.12)}}@media(prefers-reduced-motion:reduce){.ch-eyes,.ch-eye{animation:none}}.ch-logo.blink-now .ch-eye{animation:kimi-eye-blink-once .24s ease-in-out}@keyframes kimi-eye-blink-once{0%,to{transform:scaleY(1)}50%{transform:scaleY(.1)}}.md .markdown-renderer img{min-width:0;min-height:0}.app{font-size:var(--ui-font-size)}.md,.md .markdown-renderer,.md .markdown-renderer p,.md .markdown-renderer li,.md .markdown-renderer blockquote,.md .markdown-renderer td,.md .markdown-renderer th,.u-bub,.u-bub .u-text,.a-msg .msg,.box .bb,.ph{font-size:var(--content-font-size)}.md .code-block-container pre,.md .markstream-pre,.md .code-block-container pre code,.md .diff-pre code,.box .bh,.queue-item,.queue-text,.ctx-num,.model-pill,.perm-pill,.mode-pill,.compact-chip,.qcard,.qtext,.qopt,.qbtn,.srow,.srow-val{font-size:var(--ui-font-size)}.md :not(pre)>code,.md .inline-code,.a-msg code,.qopt-desc,.srow-label{font-size:var(--ui-font-size-sm)}.code-block-header,.code-block-header *,.diff-lang,.queue-label,.qopt-key,.qstep,.srow-sub{font-size:var(--ui-font-size-xs)}@media(max-width:640px){.u-bub .u-text,.a-msg .msg,.ph{font-size:max(16px,var(--ui-font-size-xl))}} diff --git a/apps/kimi-code/dist-web/assets/index-bE2IzaLg.js b/apps/kimi-code/dist-web/assets/index-bE2IzaLg.js new file mode 100644 index 0000000000..23ff96a1d7 --- /dev/null +++ b/apps/kimi-code/dist-web/assets/index-bE2IzaLg.js @@ -0,0 +1,100 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DesignSystemView-UYw_7SpS.js","assets/vendor-ucnN-Sh8.js","assets/vendor-4gi77x_E.css","assets/vendor-markstream-D6yjq9lL.js","assets/vendor-markstream-Boo68so5.css","assets/vendor-katex-Com_2SPi.js","assets/vendor-katex-Cp579UoJ.css","assets/DesignSystemView-CgaL5VJY.css"])))=>i.map(i=>d[i]); +import{g as I,d as Ie,o as a,c,n as fe,K as yt,m as Ne,a as r,v as G,A as vu,z as A,B as $,bD as Ue,w as Oe,k as Ke,l as Ln,Q as lo,b as M,u as l,x as H,E as d,h as ht,F as he,r as Pe,G as gt,bE as qn,bF as Ad,s as Td,C as Bn,H as Jn,e as rt,R as kt,bG as En,U as Re,J as re,V as sl,N as hu,bH as Wo,i as mo,bI as Pd,S as gu,T as Yo,p as Io,bJ as Ed,bK as Dl,bL as zl,bM as yu,j as Ld}from"./vendor-ucnN-Sh8.js";import{_ as ku,O as Bd,P as Rd,W as Od,x as Dd,a as zd,b as Fd,y as Nd,h as qd,g as Wd,p as Hd,m as Ud}from"./vendor-markstream-D6yjq9lL.js";import"./vendor-katex-Com_2SPi.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const u of i.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();const We={permission:"kimi-web.permission",activeWorkspace:"kimi-active-workspace",planMode:"kimi-web.plan-mode",planArmed:"kimi-web.plan-armed",swarmMode:"kimi-web.swarm-mode",supermoonMode:"kimi-web.supermoon-mode",goalMode:"kimi-web.goal-mode",uiFontSize:"kimi-web.ui-font-size",starredModels:"kimi-web.starred-models",unread:"kimi-web.unread",onboarded:"kimi-web.onboarded",accent:"kimi-web.accent",colorScheme:"kimi-web.color-scheme",hiddenWorkspaces:"kimi-web.hidden-workspaces",collapsedWorkspaces:"kimi-web.collapsed-workspaces",workspaceOrder:"kimi-web.workspace-order",workspaceNameOverrides:"kimi-web.workspace-name-overrides",workspaceSort:"kimi-web.workspace-sort",workspaceRecencyFloor:"kimi-web.workspace-recency-floor",pinnedSessions:"kimi-web.pinned-sessions",sessionEmoji:"kimi-web.session-emoji",conversationToc:"kimi-web.beta-toc",notifyOnComplete:"kimi-web.notify-on-complete",notifyOnQuestion:"kimi-web.notify-on-question",notifyOnApproval:"kimi-web.notify-on-approval",soundOnComplete:"kimi-web.sound-on-complete",inputHistory:"kimi-web.input-history",pluginExtensionHintDismissed:"kimi-web.plugins.extension-hint-dismissed",locale:"kimi-locale",diffColorblind:"kimi-web.diff-colorblind",clientId:"kimi-web.client-id",debug:"kimi-web.debug",openInLastTarget:"kimi-web.open-in.last-target",sidebarCollapsed:"kimi-web.sidebar-collapsed",sidebarWidth:"kimi-web.sidebar-width",sidebarViewMode:"kimi-web.sidebar-view-mode",codeFont:"kimi-web.code-font",contentAlign:"kimi-web.content-align",theme:"kimi-web.theme",thinking:"kimi-web.thinking"};function Fl(e){return`kimi-web.draft.${e&&e.length>0?e:"__new__"}`}function It(e){try{return globalThis.localStorage.getItem(e)}catch{return null}}function Bt(e,t){try{globalThis.localStorage.setItem(e,t)}catch{}}function ro(e){try{globalThis.localStorage.removeItem(e)}catch{}}function vo(e){const t=It(e);if(t===null)return null;try{return JSON.parse(t)}catch{return null}}function Vs(e,t){try{globalThis.localStorage.setItem(e,JSON.stringify(t))}catch{}}function ol(){const e=It(We.unread);if(!e)return{};try{const t=JSON.parse(e);if(!t||typeof t!="object")return{};const n={};for(const[s,o]of Object.entries(t))o===!0&&(n[s]=!0);return n}catch{return{}}}function il(e){const n={...ol()};for(const[s,o]of Object.entries(e))o?n[s]=!0:delete n[s];Bt(We.unread,JSON.stringify(n))}function Vd(){const e=vo(We.collapsedWorkspaces);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ta(e){Vs(We.collapsedWorkspaces,Array.from(e))}function jd(){const e=vo(We.workspaceOrder);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function bu(e){Vs(We.workspaceOrder,Array.from(e))}function pi(){const e=vo(We.workspaceNameOverrides);if(!e||typeof e!="object")return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="string"&&(t[n]=s);return t}function Nl(e){Vs(We.workspaceNameOverrides,e)}function Kd(){return It(We.workspaceSort)}function wu(e){Bt(We.workspaceSort,e)}function Gd(){const e=vo(We.workspaceRecencyFloor);if(!e||typeof e!="object")return{};const t={};for(const[n,s]of Object.entries(e))typeof s=="number"&&Number.isFinite(s)&&(t[n]=s);return t}function Su(e){Vs(We.workspaceRecencyFloor,e)}const ql=We.clientId,Qd="kimi-code-web",Yd="web";function Cu(){return{serverHttpUrl:Xd(),clientId:np(),clientName:Qd,clientVersion:sp(),clientUiMode:Yd}}function Zd(){return typeof window<"u"&&window.location?.origin?window.location.origin:"http://127.0.0.1:58627"}function Xd(e){const t=Zd(),n=new URL(t);return n.pathname=n.pathname.replace(/\/v1\/?$/,"").replace(/\/$/,""),n.search="",n.hash="",n.toString().replace(/\/$/,"")}function Jd(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}function ep(){const e=typeof window<"u"&&window.location?.origin?window.location.origin:"";return Jd(e)}function oo(e,t){return`${e}/api/v1${t.startsWith("/")?t:`/${t}`}`}function tp(e,t){const n=new URL(`${e}/api/v1/ws`);return n.protocol=n.protocol==="https:"?"wss:":"ws:",n.searchParams.set("client_id",t),n.toString()}function np(){const e=It(ql);if(e)return e;const t=`web_${globalThis.crypto?.randomUUID?.()||Math.random().toString(36).slice(2)}`;return Bt(ql,t),t}function sp(){return"0.1.2".trim()?"0.1.2":"0.0.0-dev"}async function op(e){try{const t=await fetch("/__kimi-dev/backend",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})});return t.ok?await t.json():null}catch{return null}}function ip(e){return e.replace(/^https?:\/\//,"").replace(/\/$/,"")}async function un(e){const t=typeof navigator<"u"?navigator.clipboard:void 0;if(t&&typeof t.writeText=="function")try{return await t.writeText(e),!0}catch{}return lp(e)}function ap(e){if(typeof e!="string")return;const t=typeof navigator<"u"?navigator.clipboard:void 0;t&&typeof t.writeText=="function"||un(e)}function lp(e){if(typeof document>"u"||typeof document.execCommand!="function")return!1;const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="-9999px",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t);let n=!1;try{t.focus(),t.select(),n=document.execCommand("copy")}catch{n=!1}finally{document.body.removeChild(t)}return n}function rp(){const e=vo(We.pinnedSessions);return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function up(e){Vs(We.pinnedSessions,Array.from(e))}function cp(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}function _u(e,t){const n=new Set(t),s=e.filter(i=>n.has(i.id)),o=e.filter(i=>!n.has(i.id));return[...s,...o]}function dp(e){return e==="grouped"||e==="flat"}function pp(){const e=It(We.sidebarViewMode);return dp(e)?e:"grouped"}function fp(e){Bt(We.sidebarViewMode,e)}function mp(e,t){const n=e.flatMap(i=>i.sessions),s=i=>{if(!i)return Number.NEGATIVE_INFINITY;const u=new Date(i).getTime();return Number.isNaN(u)?Number.NEGATIVE_INFINITY:u},o=n.toSorted((i,u)=>s(u.updatedAt)-s(i.updatedAt));return _u(o,t)}function vp(e,t,n){if(e.length===0)return null;const s=new Set(e),o=t.filter(u=>s.has(u)),i=e.filter(u=>!t.includes(u));return i.length===0&&o.length===t.length?null:t.length===0&&n!==void 0?i.toSorted((u,p)=>(n.get(p)??Number.NEGATIVE_INFINITY)-(n.get(u)??Number.NEGATIVE_INFINITY)):[...i,...o]}function hp(e,t){const n=new Map(t.map((s,o)=>[s,o]));return e.toSorted((s,o)=>(n.get(s.id)??-1)-(n.get(o.id)??-1))}function gp(e,t,n,s="before"){const o=e.indexOf(t),i=e.indexOf(n);if(o===-1||i===-1||o===i)return e;const u=[...e];u.splice(o,1);const p=o(t.get(s.id)??Number.NEGATIVE_INFINITY)-(t.get(n.id)??Number.NEGATIVE_INFINITY))}function kp(e,t){const n=new Map;for(const s of e){if(s.parentSessionId||s.archived)continue;const o=new Date(s.updatedAt).getTime();if(Number.isNaN(o))continue;const i=t(s);o>(n.get(i)??Number.NEGATIVE_INFINITY)&&n.set(i,o)}return n}function bp(e,t){let n=!1;const s={...e};for(const[o,i]of t)i>(s[o]??Number.NEGATIVE_INFINITY)&&(s[o]=i,n=!0);return{next:s,changed:n}}function wp(e,t){const n=Object.keys(e);if(!n.some(o=>!t.has(o)))return{next:e,changed:!1};const s={};for(const o of n)t.has(o)&&(s[o]=e[o]);return{next:s,changed:!0}}function Sp(e,t){const n=t===void 0?Number.NaN:Date.parse(t),s=Number.isNaN(n)?Number.NEGATIVE_INFINITY:n;return Math.max(e??Number.NEGATIVE_INFINITY,s)}function $u(e,t){const n=new Map;for(const s of e)n.set(s.id,Sp(t[s.id],s.lastOpenedAt));return n}const Cp={"&":"&","<":"<",">":">",'"':""","'":"'"};function Wl(e){return e.replace(/[&<>"']/g,t=>Cp[t]??t)}function _p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $p(e,t,n=40){const s=e.replace(/\s+/g," ").trim();if(s.length===0)return"";const o=t.trim();if(o.length===0)return Hl(s,n*2);const i=s.toLowerCase().indexOf(o.toLowerCase());if(i<0)return Hl(s,n*2);const u=Math.max(0,i-n),p=Math.min(s.length,i+o.length+n),f=u>0,v=p`${i}`)}const Co=I(0),Mp=["type","disabled","aria-label"],xp=Ie({__name:"IconButton",props:{size:{default:"md"},disabled:{type:Boolean},label:{},type:{default:"button"}},setup(e,{expose:t}){const n=I();return t({el:n}),(s,o)=>(a(),c("button",{ref_key:"el",ref:n,class:fe(["ui-icon-button",`ui-icon-button--${e.size}`]),type:e.type,disabled:e.disabled,"aria-label":e.label},[yt(s.$slots,"default",{},void 0,!0)],10,Mp))}}),Ee=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},nt=Ee(xp,[["__scopeId","data-v-c9e67023"]]),Ip={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ap(e,t){return a(),c("svg",Ip,[...t[0]||(t[0]=[r("path",{d:"M11.1 12.9001V15.0909C11.1 15.593 11.5029 16 12 16C12.4971 16 12.9 15.593 12.9 15.0909V12.9001H15.0909C15.593 12.9001 16 12.4972 16 12.0001C16 11.5031 15.593 11.1001 15.0909 11.1001H12.9V8.90909C12.9 8.40701 12.4971 8 12 8C11.5029 8 11.1 8.40701 11.1 8.90909V11.1001H8.90909C8.40701 11.1001 8 11.5031 8 12.0001C8 12.4972 8.40701 12.9001 8.90909 12.9001H11.1Z",fill:"currentColor"},null,-1),r("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.9996 2.1001C6.53199 2.1001 2.09961 6.53248 2.09961 12.0001C2.09961 13.9226 2.64847 15.7192 3.59804 17.2391L2.517 19.8207C2.10313 20.8091 2.82908 21.9001 3.90059 21.9001H11.9996C17.4672 21.9001 21.8996 17.4677 21.8996 12.0001C21.8996 6.53248 17.4672 2.1001 11.9996 2.1001ZM3.89961 12.0001C3.89961 7.52659 7.5261 3.9001 11.9996 3.9001C16.4731 3.9001 20.0996 7.52659 20.0996 12.0001C20.0996 16.4736 16.4724 20.1001 11.9989 20.1001H4.35146L5.63494 17.0351L5.35165 16.6291C4.43632 15.3172 3.89961 13.7227 3.89961 12.0001Z",fill:"currentColor"},null,-1)])])}const Tp=Ne({name:"kimi-add-conversation",render:Ap}),Pp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Ep(e,t){return a(),c("svg",Pp,[...t[0]||(t[0]=[r("path",{d:"M9.2373 3.7002C10.4169 3.7002 11.5297 4.24779 12.249 5.18262L12.4424 5.43359H18C20.0987 5.43359 21.7998 7.13472 21.7998 9.2334V16.5C21.7998 18.5987 20.0987 20.2998 18 20.2998H6C3.90132 20.2998 2.2002 18.5987 2.2002 16.5V7.5C2.2002 5.40132 3.90132 3.7002 6 3.7002H9.2373ZM6 5.5C4.89543 5.5 4 6.39543 4 7.5V16.5C4 17.6046 4.89543 18.5 6 18.5H18C19.0357 18.5 19.887 17.7128 19.9893 16.7041L20 16.5V9.2334C20 8.19775 19.2128 7.34641 18.2041 7.24414L18 7.2334H12.0479L11.9326 7.22656C11.666 7.19561 11.4205 7.05812 11.2549 6.84277L10.8223 6.28027C10.4437 5.78834 9.85808 5.5 9.2373 5.5H6ZM16 9.59961C16.4971 9.59961 16.9004 10.0029 16.9004 10.5C16.9004 10.9971 16.4971 11.4004 16 11.4004H8C7.50294 11.4004 7.09961 10.9971 7.09961 10.5C7.09961 10.0029 7.50294 9.59961 8 9.59961H16Z",fill:"currentColor"},null,-1)])])}const Lp=Ne({name:"kimi-folder",render:Ep}),Bp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Rp=["clip-path"],Op=["id"];function Dp(e,t){return a(),c("svg",Bp,[r("g",{"clip-path":"url(#"+e.idMap.clip0_4626_2033+")"},[...t[0]||(t[0]=[r("path",{d:"M18.3623 9.99976L18.209 8.48999C18.2031 8.43161 18.2004 8.37289 18.2002 8.31421C18.1988 8.31196 18.1956 8.30842 18.1904 8.30347C18.1718 8.28559 18.1302 8.26245 18.0713 8.26245H11C10.261 8.26245 9.59753 7.81016 9.32617 7.1228L8.9082 6.06421C8.88101 5.9953 8.85737 5.92501 8.83887 5.85327C8.83778 5.85099 8.833 5.84268 8.81836 5.83179C8.79454 5.81475 8.7549 5.79939 8.70605 5.80054H3.92871C3.86986 5.80054 3.82825 5.82368 3.80957 5.84155C3.80816 5.8429 3.80675 5.84428 3.80566 5.84546L4.47559 14.0955L3.62109 17.5154L5.12109 11.5154C5.34367 10.6251 6.1438 9.99977 7.06152 9.99976H18.3623ZM7.06152 11.7996C6.96976 11.7996 6.88944 11.8629 6.86719 11.9519L5.36719 17.9519C5.33598 18.078 5.43158 18.1999 5.56152 18.2H19.4385C19.5302 18.1999 19.6106 18.1376 19.6328 18.0486L21.1328 12.0486C21.1644 11.9224 21.0686 11.7996 20.9385 11.7996H7.06152ZM20.9385 9.99976C22.2396 9.99977 23.1945 11.2228 22.8789 12.4851L21.3789 18.4851C21.1563 19.3754 20.3562 19.9997 19.4385 19.9998H4.92871C4.41722 19.9998 3.92613 19.8059 3.56445 19.4597C3.20281 19.1135 3.00004 18.6436 3 18.1541L2 5.84644C2.00006 5.35711 2.20311 4.88786 2.56445 4.54175C2.92613 4.19554 3.41722 4.00073 3.92871 4.00073H8.66406C9.10133 3.99051 9.5296 4.1225 9.87793 4.37573C10.2285 4.63118 10.4767 4.99457 10.582 5.40405L11 6.46167H18.0713C18.5828 6.46167 19.0739 6.65648 19.4355 7.00269C19.7971 7.34888 20 7.81883 20 8.30835L20.1719 9.99976H20.9385Z",fill:"currentColor"},null,-1)])],8,Rp),r("defs",null,[r("clipPath",{id:e.idMap.clip0_4626_2033},[...t[1]||(t[1]=[r("rect",{width:"24",height:"24",fill:"white"},null,-1)])],8,Op)])])}const zp=Ne({name:"kimi-folder-open",render:Dp,setup(){return{idMap:{clip0_4626_2033:"uicons-"+Math.random().toString(36).substr(2,10)}}}}),Fp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Np(e,t){return a(),c("svg",Fp,[...t[0]||(t[0]=[r("path",{d:"M6 12C6 12.8283 5.32834 13.5 4.5 13.5C3.67166 13.5 3 12.8283 3 12C3 11.1717 3.67166 10.5 4.5 10.5C5.32834 10.5 6 11.1717 6 12Z",fill:"currentColor"},null,-1),r("path",{d:"M13.5 12C13.5 12.8283 12.8283 13.5 12 13.5C11.1717 13.5 10.5 12.8283 10.5 12C10.5 11.1717 11.1717 10.5 12 10.5C12.8283 10.5 13.5 11.1717 13.5 12Z",fill:"currentColor"},null,-1),r("path",{d:"M19.5002 13.5C20.3287 13.5 21 12.8287 21 12.0002C21 11.1718 20.3287 10.5 19.5002 10.5C18.6718 10.5 18 11.1718 18 12.0002C18 12.8287 18.6718 13.5 19.5002 13.5Z",fill:"currentColor"},null,-1)])])}const qp=Ne({name:"kimi-more",render:Np}),Wp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Hp(e,t){return a(),c("svg",Wp,[...t[0]||(t[0]=[r("path",{d:"M11.5 3C16.1944 3 20 6.80558 20 11.5C20 13.523 19.2933 15.381 18.1132 16.8404L21.1364 19.8636C21.4879 20.2151 21.4879 20.7849 21.1364 21.1364C20.7849 21.4879 20.2151 21.4879 19.8636 21.1364L16.8404 18.1132C15.381 19.2933 13.523 20 11.5 20C6.80558 20 3 16.1944 3 11.5C3 6.80558 6.80558 3 11.5 3ZM11.5 18.2C15.2003 18.2 18.2 15.2003 18.2 11.5C18.2 7.79969 15.2003 4.8 11.5 4.8C7.79969 4.8 4.8 7.79969 4.8 11.5C4.8 15.2003 7.79969 18.2 11.5 18.2Z",fill:"currentColor"},null,-1)])])}const Up=Ne({name:"kimi-search",render:Hp}),Vp={width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function jp(e,t){return a(),c("svg",Vp,[...t[0]||(t[0]=[r("path",{d:"M16.0404 12C16.0404 9.76874 14.2313 7.9596 12.0001 7.9596C9.76883 7.9596 7.95972 9.76874 7.95972 12C7.95972 14.2313 9.76883 16.0404 12.0001 16.0404C14.2313 16.0404 16.0404 14.2313 16.0404 12ZM14.2222 12C14.2222 13.2271 13.2271 14.2222 12 14.2222C10.7729 14.2222 9.77783 13.2271 9.77783 12C9.77783 10.7729 10.7729 9.77778 12 9.77778C13.2271 9.77778 14.2222 10.7729 14.2222 12Z",fill:"currentColor"},null,-1),r("path",{d:"M9.91145 21.8009C9.29001 21.6797 8.76914 21.2612 8.50632 20.6922L8.07372 19.7556C7.88838 19.3544 7.43553 19.1048 6.95371 19.1549L5.89572 19.2647C5.2733 19.3293 4.64823 19.114 4.22298 18.6611C3.74343 18.1504 3.32454 17.6037 2.97033 17.0181C2.61571 16.4318 2.32839 15.8106 2.10407 15.1566C1.89769 14.5549 2.02148 13.8954 2.4089 13.3902L3.0376 12.5704C3.30043 12.2277 3.30042 11.7722 3.03758 11.4295L2.40413 10.6035C2.01474 10.0958 1.891 9.43198 2.10208 8.82826C2.55037 7.54612 3.27017 6.35997 4.22 5.34259C4.64518 4.8872 5.27275 4.67067 5.89701 4.73544L6.95383 4.84514C7.43561 4.89515 7.88844 4.6456 8.07377 4.24441L8.50266 3.31593C8.76494 2.74818 9.28448 2.33019 9.90423 2.20761C11.2916 1.9332 12.7148 1.93127 14.0885 2.19913C14.7099 2.32029 15.2308 2.73881 15.4937 3.3078L15.9263 4.24441C16.1116 4.6456 16.5644 4.89514 17.0462 4.84514L18.1043 4.73532C18.7267 4.67072 19.3518 4.88603 19.777 5.33886C20.2566 5.84953 20.6755 6.3963 21.0297 6.98193C21.3843 7.56823 21.6716 8.18942 21.8959 8.84339C22.1023 9.44509 21.9785 10.1046 21.5911 10.6098L20.9624 11.4295C20.6996 11.7722 20.6996 12.2278 20.9624 12.5705L21.5959 13.3964C21.9853 13.9042 22.109 14.568 21.8979 15.1717C21.4497 16.4538 20.7299 17.6399 19.7801 18.6573C19.3549 19.1128 18.7273 19.3294 18.103 19.2646L17.0462 19.1549C16.5645 19.1049 16.1116 19.3544 15.9263 19.7556L15.4974 20.6841C15.2351 21.2518 14.7156 21.6698 14.0958 21.7924C12.7083 22.0668 11.2852 22.0687 9.91145 21.8009ZM13.7432 20.0088C13.7844 20.0006 13.8259 19.9673 13.847 19.9216L14.2758 18.9931C14.7915 17.8768 15.9886 17.2171 17.2341 17.3464L18.2909 17.4561C18.3649 17.4638 18.4272 17.4423 18.4512 17.4166C19.2296 16.5828 19.8171 15.6146 20.1817 14.5716C20.1845 14.5636 20.1796 14.5373 20.1532 14.5029L19.5198 13.677C18.7564 12.6815 18.7564 11.3185 19.5198 10.323L20.1485 9.5033C20.1746 9.46927 20.1795 9.4429 20.1762 9.43327C19.9932 8.89965 19.7603 8.39623 19.4741 7.92293C19.1873 7.4489 18.846 7.00333 18.4517 6.58351C18.4272 6.55739 18.3656 6.53616 18.2921 6.54378L17.234 6.65361C15.9886 6.78287 14.7915 6.12317 14.2758 5.00689L13.8432 4.07027C13.822 4.02448 13.7811 3.9916 13.7406 3.98371C12.5983 3.76097 11.4132 3.76258 10.2571 3.99124C10.2158 3.99941 10.1744 4.03271 10.1533 4.07842L9.72441 5.00689C9.20875 6.12317 8.01164 6.7829 6.76619 6.6536L5.70942 6.54391C5.63535 6.53623 5.573 6.55774 5.54905 6.5834C4.77067 7.41713 4.18312 8.38534 3.81845 9.42835C3.81564 9.43637 3.82054 9.46265 3.84693 9.49706L4.48038 10.323C5.24381 11.3185 5.24383 12.6815 4.48041 13.6769L3.85171 14.4967C3.82561 14.5307 3.82066 14.5571 3.82396 14.5667C4.00701 15.1004 4.23986 15.6038 4.52613 16.0771C4.81284 16.5511 5.15421 16.9967 5.54845 17.4165C5.57298 17.4426 5.63461 17.4638 5.70811 17.4562L6.76608 17.3464C8.01157 17.2171 9.20871 17.8768 9.72438 18.9932L10.157 19.9297C10.1781 19.9755 10.2191 20.0084 10.2595 20.0163C11.4018 20.239 12.587 20.2374 13.7432 20.0088Z",fill:"currentColor"},null,-1)])])}const Kp=Ne({name:"kimi-setting",render:jp}),Gp={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qp(e,t){return a(),c("svg",Gp,[...t[0]||(t[0]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16"}),r("path",{d:"m15 10l-2 2l2 2"})],-1)])])}const Yp=Ne({name:"tabler-layout-sidebar-left-collapse",render:Qp}),Zp={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xp(e,t){return a(),c("svg",Zp,[...t[0]||(t[0]=[r("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[r("path",{d:"M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm5-2v16"}),r("path",{d:"m14 10l2 2l-2 2"})],-1)])])}const Jp=Ne({name:"tabler-layout-sidebar-left-expand",render:Xp}),ef={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tf(e,t){return a(),c("svg",ef,[...t[0]||(t[0]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m15 7l-6.5 6.5a1.5 1.5 0 0 0 3 3L18 10a3 3 0 0 0-6-6l-6.5 6.5a4.5 4.5 0 0 0 9 9L21 13"},null,-1)])])}const nf=Ne({name:"tabler-paperclip",render:tf}),sf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function of(e,t){return a(),c("svg",sf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M11 11V5h2v6h6v2h-6v6h-2v-6H5v-2z"},null,-1)])])}const af=Ne({name:"ri-add-line",render:of}),lf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rf(e,t){return a(),c("svg",lf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12.866 3l9.526 16.5a1 1 0 0 1-.866 1.5H2.474a1 1 0 0 1-.866-1.5L11.134 3a1 1 0 0 1 1.732 0m-8.66 16h15.588L12 5.5zM11 16h2v2h-2zm0-7h2v5h-2z"},null,-1)])])}const uf=Ne({name:"ri-alert-line",render:rf}),cf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function df(e,t){return a(),c("svg",cf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 10H2V4.003C2 3.449 2.455 3 2.992 3h18.016A.99.99 0 0 1 22 4.003V10h-1v10.002a.996.996 0 0 1-.993.998H3.993A.996.996 0 0 1 3 20.002zm16 0H5v9h14zM4 5v3h16V5zm5 7h6v2H9z"},null,-1)])])}const pf=Ne({name:"ri-archive-line",render:df}),ff={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mf(e,t){return a(),c("svg",ff,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13 16.172l5.364-5.364l1.414 1.414L12 20l-7.778-7.778l1.414-1.414L11 16.172V4h2z"},null,-1)])])}const vf=Ne({name:"ri-arrow-down-line",render:mf}),hf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gf(e,t){return a(),c("svg",hf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 13.171l4.95-4.95l1.414 1.415L12 16L5.636 9.636L7.05 8.222z"},null,-1)])])}const yf=Ne({name:"ri-arrow-down-s-line",render:gf}),kf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bf(e,t){return a(),c("svg",kf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m5.828 7l2.536 2.535L6.95 10.95L2 6l4.95-4.95l1.414 1.415L5.828 5H13a8 8 0 1 1 0 16H4v-2h9a6 6 0 0 0 0-12z"},null,-1)])])}const wf=Ne({name:"ri-arrow-go-back-line",render:bf}),Sf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cf(e,t){return a(),c("svg",Sf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m16.172 11l-5.364-5.364l1.414-1.414L20 12l-7.778 7.778l-1.414-1.414L16.172 13H4v-2z"},null,-1)])])}const _f=Ne({name:"ri-arrow-right-line",render:Cf}),$f={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mf(e,t){return a(),c("svg",$f,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.172 12l-4.95-4.95l1.414-1.413L16 12l-6.364 6.364l-1.414-1.415z"},null,-1)])])}const xf=Ne({name:"ri-arrow-right-s-line",render:Mf}),If={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Af(e,t){return a(),c("svg",If,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M13 7.828V20h-2V7.828l-5.364 5.364l-1.414-1.414L12 4l7.778 7.778l-1.414 1.414z"},null,-1)])])}const Ul=Ne({name:"ri-arrow-up-line",render:Af}),Tf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Pf(e,t){return a(),c("svg",Tf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 10.828l-4.95 4.95l-1.414-1.414L12 8l6.364 6.364l-1.414 1.414z"},null,-1)])])}const Ef=Ne({name:"ri-arrow-up-s-line",render:Pf}),Lf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Bf(e,t){return a(),c("svg",Lf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 18v-3.7a1.5 1.5 0 0 0-1.5-1.5H2v-1.6h.5A1.5 1.5 0 0 0 4 9.7V6a3 3 0 0 1 3-3h1v2H7a1 1 0 0 0-1 1v4.1A2 2 0 0 1 4.626 12A2 2 0 0 1 6 13.9V18a1 1 0 0 0 1 1h1v2H7a3 3 0 0 1-3-3m16-3.7V18a3 3 0 0 1-3 3h-1v-2h1a1 1 0 0 0 1-1v-4.1a2 2 0 0 1 1.374-1.9A2 2 0 0 1 18 10.1V6a1 1 0 0 0-1-1h-1V3h1a3 3 0 0 1 3 3v3.7a1.5 1.5 0 0 0 1.5 1.5h.5v1.6h-.5a1.5 1.5 0 0 0-1.5 1.5"},null,-1)])])}const Rf=Ne({name:"ri-braces-line",render:Bf}),Of={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Df(e,t){return a(),c("svg",Of,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 3V1H7v2H3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4V1h-2v2zm-5 7h16v9H4zm0-5h3v1h2V5h6v1h2V5h3v3H4zm5.879 5.964L12 13.086l2.121-2.122l1.415 1.415l-2.122 2.121l2.121 2.121l-1.414 1.414L12 15.915l-2.121 2.12l-1.415-1.414l2.122-2.12l-2.122-2.122z"},null,-1)])])}const zf=Ne({name:"ri-calendar-close-line",render:Df}),Ff={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Nf(e,t){return a(),c("svg",Ff,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M7 3V1h2v2h6V1h2v2h4a1 1 0 0 1 1 1v5h-2V5h-3v2h-2V5H9v2H7V5H4v14h6v2H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1zm10 9a4 4 0 1 0 0 8a4 4 0 0 0 0-8m-6 4a6 6 0 1 1 12 0a6 6 0 0 1-12 0m5-3v3.414l2.293 2.293l1.414-1.414L18 15.586V13z"},null,-1)])])}const qf=Ne({name:"ri-calendar-schedule-line",render:Nf}),Wf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Hf(e,t){return a(),c("svg",Wf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 1v2h6V1h2v2h4a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h4V1zm11 10H4v8h16zM8 14v2H6v-2zm10 0v2h-8v-2zM7 5H4v4h16V5h-3v2h-2V5H9v2H7z"},null,-1)])])}const Uf=Ne({name:"ri-calendar-todo-line",render:Hf}),Vf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function jf(e,t){return a(),c("svg",Vf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m10 15.17l9.192-9.191l1.414 1.414L10 17.999l-6.364-6.364l1.414-1.414z"},null,-1)])])}const Kf=Ne({name:"ri-check-line",render:jf}),Gf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Qf(e,t){return a(),c("svg",Gf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 10.587l4.95-4.95l1.414 1.414l-4.95 4.95l4.95 4.95l-1.415 1.414l-4.95-4.95l-4.949 4.95l-1.414-1.415l4.95-4.95l-4.95-4.95L7.05 5.638z"},null,-1)])])}const Yf=Ne({name:"ri-close-line",render:Qf}),Zf={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Xf(e,t){return a(),c("svg",Zf,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m23 12l-7.071 7.071l-1.414-1.414L20.172 12l-5.657-5.657l1.414-1.414zM3.828 12l5.657 5.657l-1.414 1.414L1 12l7.071-7.071l1.414 1.414z"},null,-1)])])}const Jf=Ne({name:"ri-code-line",render:Xf}),em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function tm(e,t){return a(),c("svg",em,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 4h-2v7h7V9h-3.586l4.293-4.293l-1.414-1.414L15 7.586zM4 15h3.586l-4.293 4.293l1.414 1.414L9 16.414V20h2v-7H4z"},null,-1)])])}const nm=Ne({name:"ri-collapse-diagonal-line",render:tm}),sm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function om(e,t){return a(),c("svg",sm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 19h18v2H3zm10-5.828L19.071 7.1l1.414 1.414L12 17L3.515 8.515L4.929 7.1L11 13.173V2h2z"},null,-1)])])}const im=Ne({name:"ri-download-line",render:om}),am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function lm(e,t){return a(),c("svg",am,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8.5 7a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m0 6.5a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0M15.5 7a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3"},null,-1)])])}const rm=Ne({name:"ri-draggable",render:lm}),um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function cm(e,t){return a(),c("svg",um,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6.17 18a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2v-2zm6-7a3.001 3.001 0 0 1 5.66 0H22v2h-4.17a3.001 3.001 0 0 1-5.66 0H2v-2zm-6-7a3.001 3.001 0 0 1 5.66 0H22v2H11.83a3.001 3.001 0 0 1-5.66 0H2V4zM9 6a1 1 0 1 0 0-2a1 1 0 0 0 0 2m6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m-6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2"},null,-1)])])}const dm=Ne({name:"ri-equalizer-line",render:cm}),pm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function fm(e,t){return a(),c("svg",pm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M17.586 5H14V3h7v7h-2V6.414l-4.293 4.293l-1.414-1.414zM3 14h2v3.586l4.293-4.293l1.414 1.414L6.414 19H10v2H3z"},null,-1)])])}const mm=Ne({name:"ri-expand-diagonal-line",render:fm}),vm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function hm(e,t){return a(),c("svg",vm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z"},null,-1)])])}const gm=Ne({name:"ri-external-link-line",render:hm}),ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function km(e,t){return a(),c("svg",ym,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 4H5v16h14V8h-4zM3 2.992C3 2.444 3.447 2 3.999 2H16l5 5v13.993A1 1 0 0 1 20.007 22H3.993A1 1 0 0 1 3 21.008zM11 11V8h2v3h3v2h-3v3h-2v-3H8v-2z"},null,-1)])])}const bm=Ne({name:"ri-file-add-line",render:km}),wm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Sm(e,t){return a(),c("svg",wm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M7 6V3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1h-3v3c0 .552-.45 1-1.007 1H4.007A1 1 0 0 1 3 21l.003-14c0-.552.45-1 1.006-1zM5.002 8L5 20h10V8zM9 6h8v10h2V4H9z"},null,-1)])])}const Cm=Ne({name:"ri-file-copy-line",render:Sm}),_m={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function $m(e,t){return a(),c("svg",_m,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m21 6.757l-2 2V4h-9v5H5v11h14v-2.757l2-2v5.765a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8l6.003-6h10.995C20.55 2 21 2.455 21 2.992zm.778 2.05l1.414 1.415L15.414 18l-1.416-.002l.002-1.412z"},null,-1)])])}const Mm=Ne({name:"ri-file-edit-line",render:$m}),xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Im(e,t){return a(),c("svg",xm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M9 2.003V2h10.998C20.55 2 21 2.455 21 2.992v18.016a.993.993 0 0 1-.993.992H3.993A1 1 0 0 1 3 20.993V8zM5.83 8H9V4.83zM11 4v5a1 1 0 0 1-1 1H5v10h14V4z"},null,-1)])])}const Vl=Ne({name:"ri-file-line",render:Im}),Am={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Tm(e,t){return a(),c("svg",Am,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M21 8v12.993A1 1 0 0 1 20.007 22H3.993A.993.993 0 0 1 3 21.008V2.992C3 2.455 3.449 2 4.002 2h10.995zm-2 1h-5V4H5v16h14zM8 7h3v2H8zm0 4h8v2H8zm0 4h8v2H8z"},null,-1)])])}const Pm=Ne({name:"ri-file-text-line",render:Tm}),Em={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Lm(e,t){return a(),c("svg",Em,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M13 9h8L11 24v-9H4l9-15zm-2 2V7.22L7.532 13H13v4.394L17.263 11z"},null,-1)])])}const Bm=Ne({name:"ri-flashlight-line",render:Lm}),Rm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Om(e,t){return a(),c("svg",Rm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414zM4 5v14h16V7h-8.414l-2-2zm7 7V9h2v3h3v2h-3v3h-2v-3H8v-2z"},null,-1)])])}const Dm=Ne({name:"ri-folder-add-line",render:Om}),zm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Fm(e,t){return a(),c("svg",zm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12.414 5H21a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h7.414z"},null,-1)])])}const Nm=Ne({name:"ri-folder-fill",render:Fm}),qm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Wm(e,t){return a(),c("svg",qm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5a1 1 0 1 0 0 2a1 1 0 0 0 0-2M3 6a3 3 0 1 1 4 2.83V9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2v-.17a3.001 3.001 0 1 1 2 0V9a4 4 0 0 1-4 4h-2v2.17a3.001 3.001 0 1 1-2 0V13H9a4 4 0 0 1-4-4v-.17A3 3 0 0 1 3 6m15-1a1 1 0 1 0 0 2a1 1 0 0 0 0-2m-6 12a1 1 0 1 0 0 2a1 1 0 0 0 0-2"},null,-1)])])}const Hm=Ne({name:"ri-git-fork-line",render:Wm}),Um={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Vm(e,t){return a(),c("svg",Um,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M15 5h2a2 2 0 0 1 2 2v8.17a3.001 3.001 0 1 1-2 0V7h-2v3l-4.5-4L15 2zM5 8.83a3.001 3.001 0 1 1 2 0v6.34a3.001 3.001 0 1 1-2 0zM6 7a1 1 0 1 0 0-2a1 1 0 0 0 0 2m0 12a1 1 0 1 0 0-2a1 1 0 0 0 0 2m12 0a1 1 0 1 0 0-2a1 1 0 0 0 0 2"},null,-1)])])}const jm=Ne({name:"ri-git-pull-request-line",render:Vm}),Km={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Gm(e,t){return a(),c("svg",Km,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m-2.29-2.333A17.9 17.9 0 0 1 8.027 13H4.062a8.01 8.01 0 0 0 5.648 6.667M10.03 13c.151 2.439.848 4.73 1.97 6.752A15.9 15.9 0 0 0 13.97 13zm9.908 0h-3.965a17.9 17.9 0 0 1-1.683 6.667A8.01 8.01 0 0 0 19.938 13M4.062 11h3.965A17.9 17.9 0 0 1 9.71 4.333A8.01 8.01 0 0 0 4.062 11m5.969 0h3.938A15.9 15.9 0 0 0 12 4.248A15.9 15.9 0 0 0 10.03 11m4.259-6.667A17.9 17.9 0 0 1 15.973 11h3.965a8.01 8.01 0 0 0-5.648-6.667"},null,-1)])])}const Qm=Ne({name:"ri-global-line",render:Gm}),Ym={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Zm(e,t){return a(),c("svg",Ym,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M2.992 21A.993.993 0 0 1 2 20.007V3.993A1 1 0 0 1 2.992 3h18.016c.548 0 .992.445.992.993v16.014a1 1 0 0 1-.992.993zM20 15V5H4v14L14 9zm0 2.828l-6-6L6.828 19H20zM8 11a2 2 0 1 1 0-4a2 2 0 0 1 0 4"},null,-1)])])}const jl=Ne({name:"ri-image-line",render:Zm}),Xm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jm(e,t){return a(),c("svg",Xm,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16M11 7h2v2h-2zm0 4h2v6h-2z"},null,-1)])])}const ev=Ne({name:"ri-information-line",render:Jm}),tv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function nv(e,t){return a(),c("svg",tv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.06 8.111l1.415 1.414a7 7 0 0 1 0 9.9l-.354.353a7 7 0 1 1-9.9-9.9l1.415 1.415a5 5 0 1 0 7.071 7.071l.354-.354a5 5 0 0 0 0-7.07l-1.415-1.415zm6.718 6.01l-1.414-1.414a5 5 0 0 0-7.071-7.07l-.354.353a5 5 0 0 0 0 7.07l1.415 1.415l-1.415 1.414l-1.414-1.414a7 7 0 0 1 0-9.9l.354-.353a7 7 0 1 1 9.9 9.9"},null,-1)])])}const sv=Ne({name:"ri-links-line",render:nv}),ov={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function iv(e,t){return a(),c("svg",ov,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zm-5-.5h3v3H3zm0 7h3v3H3zm0 7h3v3H3zM8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const av=Ne({name:"ri-list-check",render:iv}),lv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rv(e,t){return a(),c("svg",lv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M8 4h13v2H8zM4.5 6.5a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m0 7a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m0 6.9a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3M8 11h13v2H8zm0 7h13v2H8z"},null,-1)])])}const uv=Ne({name:"ri-list-unordered",render:rv}),cv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function dv(e,t){return a(),c("svg",cv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 15h2v5h12V4H6v5H4V3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1zm6-4V8l5 4l-5 4v-3H2v-2z"},null,-1)])])}const pv=Ne({name:"ri-login-box-line",render:dv}),fv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mv(e,t){return a(),c("svg",fv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m17 4.238l-7.928 7.1L4 7.216V19h16zM4.511 5l7.55 6.662L19.502 5z"},null,-1)])])}const vv=Ne({name:"ri-mail-line",render:mv}),hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function gv(e,t){return a(),c("svg",hv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6.455 19L2 22.5V4a1 1 0 0 1 1-1h18a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1zm-.692-2H20V5H4v13.385zM8 10h8v2H8z"},null,-1)])])}const yv=Ne({name:"ri-message-line",render:gv}),kv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function bv(e,t){return a(),c("svg",kv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h2v14H6zm10 0h2v14h-2z"},null,-1)])])}const wv=Ne({name:"ri-pause-fill",render:bv}),Sv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cv(e,t){return a(),c("svg",Sv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m15.728 9.576l-1.414-1.414L5 17.476v1.414h1.414zm1.414-1.414l1.414-1.414l-1.414-1.414l-1.414 1.414zm-9.9 12.728H3v-4.243L16.435 3.212a1 1 0 0 1 1.414 0l2.829 2.829a1 1 0 0 1 0 1.414z"},null,-1)])])}const _v=Ne({name:"ri-pencil-line",render:Cv}),$v={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Mv(e,t){return a(),c("svg",$v,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M19.376 12.416L8.777 19.482A.5.5 0 0 1 8 19.066V4.934a.5.5 0 0 1 .777-.416l10.599 7.066a.5.5 0 0 1 0 .832"},null,-1)])])}const xv=Ne({name:"ri-play-fill",render:Mv}),Iv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Av(e,t){return a(),c("svg",Iv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m22.313 10.175l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707l1.414-1.414z"},null,-1)])])}const Tv=Ne({name:"ri-pushpin-fill",render:Av}),Pv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Ev(e,t){return a(),c("svg",Pv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m13.827 1.69l8.486 8.485l-1.415 1.414l-.707-.707l-4.242 4.243l-.707 3.536l-1.415 1.414l-4.242-4.243l-4.95 4.95l-1.414-1.414l4.95-4.95l-4.243-4.243l1.414-1.414l3.536-.707l4.242-4.243l-.707-.707zm.707 3.536l-4.67 4.67l-2.822.565l6.5 6.5l.564-2.822l4.671-4.67z"},null,-1)])])}const Lv=Ne({name:"ri-pushpin-line",render:Ev}),Bv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Rv(e,t){return a(),c("svg",Bv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-1-5h2v2h-2zm2-1.645V14h-2v-1.5a1 1 0 0 1 1-1a1.5 1.5 0 1 0-1.471-1.794l-1.962-.393A3.501 3.501 0 1 1 13 13.355"},null,-1)])])}const Ov=Ne({name:"ri-question-line",render:Rv}),Dv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function zv(e,t){return a(),c("svg",Dv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m-4-7h8a4 4 0 0 1-8 0m0-2a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3m8 0a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3"},null,-1)])])}const Fv=Ne({name:"ri-emotion-line",render:zv}),Nv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function qv(e,t){return a(),c("svg",Nv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M20 4v12h3l-4 5l-4-5h3V4zm-8 14v2H3v-2zm2-7v2H3v-2zm0-7v2H3V4z"},null,-1)])])}const Wv=Ne({name:"ri-sort-desc",render:qv}),Hv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Uv(e,t){return a(),c("svg",Hv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M14 4.438A2.437 2.437 0 0 0 16.438 2h1.125A2.437 2.437 0 0 0 20 4.438v1.125A2.437 2.437 0 0 0 17.563 8h-1.125A2.437 2.437 0 0 0 14 5.563zM1 11a6 6 0 0 0 6-6h2a6 6 0 0 0 6 6v2a6 6 0 0 0-6 6H7a6 6 0 0 0-6-6zm3.876 1A8.04 8.04 0 0 1 8 15.124A8.04 8.04 0 0 1 11.124 12A8.04 8.04 0 0 1 8 8.876A8.04 8.04 0 0 1 4.876 12m12.374 2A3.25 3.25 0 0 1 14 17.25v1.5A3.25 3.25 0 0 1 17.25 22h1.5A3.25 3.25 0 0 1 22 18.75v-1.5A3.25 3.25 0 0 1 18.75 14z"},null,-1)])])}const Vv=Ne({name:"ri-sparkling-line",render:Uv}),jv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Kv(e,t){return a(),c("svg",jv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928z"},null,-1)])])}const Gv=Ne({name:"ri-star-fill",render:Kv}),Qv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Yv(e,t){return a(),c("svg",Qv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"m12 18.26l-7.053 3.948l1.575-7.928L.588 8.792l8.027-.952L12 .5l3.385 7.34l8.027.952l-5.934 5.488l1.575 7.928zm0-2.292l4.247 2.377l-.948-4.773l3.573-3.305l-4.833-.573l-2.038-4.419l-2.039 4.42l-4.833.572l3.573 3.305l-.948 4.773z"},null,-1)])])}const Zv=Ne({name:"ri-star-line",render:Yv}),Xv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Jv(e,t){return a(),c("svg",Xv,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M6 5h12a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1"},null,-1)])])}const e1=Ne({name:"ri-stop-fill",render:Jv}),t1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function n1(e,t){return a(),c("svg",t1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5 11v2h14v-2z"},null,-1)])])}const s1=Ne({name:"ri-subtract-line",render:n1}),o1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function i1(e,t){return a(),c("svg",o1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 2a1 1 0 1 1 0 2a8 8 0 1 0 8 8a1 1 0 1 1 2 0c0 5.523-4.477 10-10 10S2 17.523 2 12S6.477 2 12 2m0 4a1 1 0 1 1 0 2a4 4 0 1 0 4 4a1 1 0 1 1 2 0a6 6 0 1 1-6-6m5.656-3.9a1.001 1.001 0 0 1 1.415 1.415l-.708.706h.001a1 1 0 1 0 1.414 1.415l.707-.707A1 1 0 0 1 21.9 6.343l-2.12 2.122a1 1 0 0 1-.708.292h-2.414l-3.95 3.95a1 1 0 0 1-1.414-1.414l3.95-3.95V4.93a1 1 0 0 1 .292-.707z"},null,-1)])])}const a1=Ne({name:"ri-target-line",render:i1}),l1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function r1(e,t){return a(),c("svg",l1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M3 3h18a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1m1 2v14h16V5zm8 10h6v2h-6zm-3.333-3L5.838 9.172l1.415-1.415L11.495 12l-4.242 4.243l-1.415-1.415z"},null,-1)])])}const u1=Ne({name:"ri-terminal-box-line",render:r1}),c1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function d1(e,t){return a(),c("svg",c1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10s-4.477 10-10 10m0-2a8 8 0 1 0 0-16a8 8 0 0 0 0 16m1-8h4v2h-6V7h2z"},null,-1)])])}const p1=Ne({name:"ri-time-line",render:d1}),f1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function m1(e,t){return a(),c("svg",f1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M5.33 3.272a3.5 3.5 0 0 1 4.254 4.962l10.709 10.71l-1.414 1.414l-10.71-10.71a3.502 3.502 0 0 1-4.962-4.255L5.444 7.63a1.5 1.5 0 0 0 2.121-2.121zm10.367 1.883l3.182-1.768l1.414 1.415l-1.768 3.182l-1.768.353l-2.12 2.121l-1.415-1.414l2.121-2.121zm-6.718 8.132l1.415 1.414l-5.304 5.303a1 1 0 0 1-1.492-1.327l.078-.087z"},null,-1)])])}const v1=Ne({name:"ri-tools-line",render:m1}),h1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function g1(e,t){return a(),c("svg",h1,[...t[0]||(t[0]=[r("path",{fill:"currentColor",d:"M4 22a8 8 0 1 1 16 0h-2a6 6 0 0 0-12 0zm8-9c-3.315 0-6-2.685-6-6s2.685-6 6-6s6 2.685 6 6s-2.685 6-6 6m0-2c2.21 0 4-1.79 4-4s-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4"},null,-1)])])}const y1=Ne({name:"ri-user-line",render:g1}),k1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function b1(e,t){return a(),c("svg",k1,[...t[0]||(t[0]=[r("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 3h.393a7.5 7.5 0 0 0 7.92 12.446A9 9 0 1 1 12 2.992zm5 1a2 2 0 0 0 2 2a2 2 0 0 0-2 2a2 2 0 0 0-2-2a2 2 0 0 0 2-2m2 7h2m-1-1v2"},null,-1)])])}const w1=Ne({name:"tabler-moon-stars",render:b1}),S1=` + + + +`,C1=` + + +`,_1=` + + + + + + + + + +`,$1=` + + + + +`,M1=` + + +`,x1=` + + + +`,I1='',A1='',T1='',P1='',E1='',L1='',B1='',R1='',O1='',D1='',z1='',F1='',Kl='',N1='',q1='',W1='',H1='',U1='',V1='',j1='',K1='',G1='',Q1='',Y1='',Z1='',X1='',J1='',eh='',th='',nh='',Gl='',sh='',oh='',ih='',ah='',lh='',rh='',uh='',Ql='',ch='',dh='',ph='',fh='',mh='',vh='',hh='',gh='',yh='',kh='',bh='',wh='',Sh='',Ch='',_h='',$h='',Mh='',xh='',Ih='',Ah='',Th='',Ph='',Eh='',Lh='',Bh='',Mu={sm:14,md:16,lg:20};function ze(e,t){return{component:e,svg:t}}const xu={plus:ze(af,E1),"chat-new":ze(Tp,S1),"calendar-close":ze(zf,W1),"calendar-schedule":ze(qf,H1),"calendar-todo":ze(Uf,U1),close:ze(Yf,j1),check:ze(Kf,V1),archive:ze(pf,B1),search:ze(Up,M1),copy:ze(Cm,th),link:ze(sv,dh),"external-link":ze(gm,J1),download:ze(im,Q1),undo:ze(wf,D1),send:ze(Ul,Kl),image:ze(jl,Ql),settings:ze(Kp,x1),sliders:ze(dm,Z1),"log-in":ze(pv,mh),"chevron-down":ze(yf,O1),"chevron-right":ze(xf,F1),"chevron-up":ze(Ef,N1),"arrow-up":ze(Ul,Kl),"arrow-down":ze(vf,R1),"arrow-right":ze(_f,z1),minus:ze(s1,Ah),"panel-collapse":ze(Yp,I1),"panel-expand":ze(Jp,A1),expand:ze(mm,X1),collapse:ze(nm,G1),list:ze(uv,fh),sort:ze(Wv,_h),grip:ze(rm,Y1),folder:ze(zp,_1),"folder-closed":ze(Lp,C1),"folder-plus":ze(Dm,ih),"folder-solid":ze(Nm,ah),file:ze(Vl,Gl),"file-text":ze(Pm,sh),"file-edit":ze(Mm,nh),"file-plus":ze(bm,eh),"file-off":ze(Vl,Gl),attachment:ze(nf,T1),"image-off":ze(jl,Ql),code:ze(Jf,K1),terminal:ze(u1,Ph),pencil:ze(_v,yh),tool:ze(v1,Lh),glob:ze(Rf,q1),globe:ze(Qm,uh),"check-list":ze(av,ph),bolt:ze(Bm,oh),"git-fork":ze(Hm,lh),"git-pull-request":ze(jm,rh),message:ze(yv,hh),mail:ze(vv,vh),user:ze(y1,Bh),info:ze(ev,ch),"help-circle":ze(Ov,Sh),"alert-triangle":ze(uf,L1),clock:ze(p1,Eh),sparkles:ze(Vv,$h),"moon-stars":ze(w1,P1),target:ze(a1,Th),pause:ze(wv,gh),play:ze(xv,kh),stop:ze(e1,Ih),star:ze(Gv,Mh),"star-outline":ze(Zv,xh),pin:ze(Lv,wh),"pin-fill":ze(Tv,bh),emotion:ze(Fv,Ch),"dots-horizontal":ze(qp,$1)};function Rh(e){return xu[e]}function Oh(e,t){return e.replace(/\s(?:width|height)="[^"]*"/g,"").replace(/^