llmpt 1.3.9 → 1.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.3.10 (2026-06-16)
|
|
4
|
+
|
|
5
|
+
### 修复
|
|
6
|
+
- 修复:Anthropic assistant text block 在 Markdown 渲染时大量空行问题
|
|
7
|
+
- 根因:`.content-block` 的 `white-space: pre-wrap` 被 `md-prose` 内部 `<p>`/`<li>` 元素继承,导致每个 `\n` 都被原样保留
|
|
8
|
+
- 修复:在 CSS 中为 `.content-block .md-prose`(及 `p`/`li`)添加 `white-space: normal` 覆盖
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
3
12
|
## v1.3.4 (2026-06-16)
|
|
4
13
|
|
|
5
14
|
### 重构 & 修复
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-20{z-index:20}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-1\.5{height:.375rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.w-1\.5{width:.375rem}.w-7{width:1.75rem}.w-px{width:1px}.min-w-0{min-width:0}.max-w-\[90px\]{max-width:90px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1\.5{row-gap:.375rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.bg-transparent{background-color:#0000}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tracking-tight{letter-spacing:-.025em}.outline-none{outline-offset:2px;outline:2px solid #0000}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#f4f5f7;--bg-card:#fff;--bg-hover:#f0f1f4;--bg-active:#e8ecf4;--bg-code:#f6f8fa;--border:#e2e4e9;--border-light:#edeef1;--scrollbar-bg1:#bbbec7;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000014;--radius:10px;--radius-sm:6px;--text:#1c2024;--text-secondary:#60646c;--text-tertiary:#a0a4ab;--blue:#3b82f6;--blue-bg:#eff6ff;--green:#10b981;--green-bg:#ecfdf5;--amber:#f59e0b;--amber-bg:#fffbeb;--red:#ef4444;--red-bg:#fef2f2;--red-bg-hi:#fecaca;--green-bg-hi:#bbf7d0;--purple:#8b5cf6;--purple-bg:#f5f3ff;--cyan:#06b6d4;--cyan-bg:#ecfeff;--orange:#f97316;--orange-bg:#fff7ed;--indigo:#6366f1;--mono:ui-monospace, "Cascadia Code", "Cascadia Mono", Consolas, "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", monospace;--sans:"Microsoft YaHei UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", sans-serif}[data-theme=dark]{--bg:#0d1117;--bg-card:#161b22;--bg-hover:#1c2128;--bg-active:#252c35;--bg-code:#1c2128;--border:#30363d;--border-light:#21262d;--scrollbar-bg1:#484f58;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 2px 8px #0006;--text:#e6edf3;--text-secondary:#8b949e;--text-tertiary:#6e7681;--blue:#58a6ff;--blue-bg:#0d2240;--green:#3fb950;--green-bg:#0d2d1a;--amber:#d29922;--amber-bg:#2d2200;--red:#f85149;--red-bg:#3d1117;--red-bg-hi:#6b2020;--green-bg-hi:#1a5c33;--purple:#bc8cff;--purple-bg:#1f1338;--cyan:#39d2c0;--cyan-bg:#0a2e2c;--orange:#f0883e;--orange-bg:#2d1b00;--indigo:#8b8fff}[data-theme=dark] pre,[data-theme=dark] .pre-text{background:#ffffff0a;border-color:#ffffff0f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);font-feature-settings:"cv02", "cv03", "cv04", "cv11";background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;height:100vh;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;min-height:30px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-bg1);border-radius:4px;min-height:40px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.detail-scroll::-webkit-scrollbar{width:8px}.detail-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-bg1);border-radius:4px;min-height:40px}.detail-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.json-view{font-family:var(--mono);padding:4px 0;font-size:12px;line-height:1.5;overflow-x:auto}.json-view .jk{color:var(--purple)}.json-view .js{color:var(--green);white-space:pre-wrap;word-break:break-all}.json-view .jn{color:var(--amber)}.json-view .jb{color:var(--red)}.json-view .jnull,.json-view .json-punct{color:var(--text-tertiary)}.json-view .jt-line{padding-left:12px}.json-view .jt-toggle{cursor:pointer;color:var(--text-tertiary);text-align:center;-webkit-user-select:none;user-select:none;width:12px;margin-right:2px;font-size:10px;display:inline-block}.json-view .jt-toggle:hover{color:var(--text-secondary)}.json-view .jt-summary{color:var(--text-tertiary);margin-left:4px;font-size:11px;font-style:italic;display:none}.json-view .jt-summary.jt-show{display:inline}.json-view .jt-children{padding-left:4px}.json-view .jt-children:not(.jt-open),.json-view .jt-close.jt-hidden{display:none}[data-theme=dark] .json-view .jk{color:#bc8cff}[data-theme=dark] .json-view .js{color:#3fb950}[data-theme=dark] .json-view .jn{color:#d29922}[data-theme=dark] .json-view .jb{color:#f85149}[data-theme=dark] .json-view .json-punct,[data-theme=dark] .json-view .jt-toggle{color:#6e7681}[data-theme=dark] .json-view .jt-toggle:hover{color:#c9d1d9}[data-theme=dark] .json-view .jt-summary{color:#6e7681}@keyframes pulse-dot{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.streaming-dots{vertical-align:middle;align-items:center;gap:3px;display:inline-flex}.streaming-dots span{background:var(--blue);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite pulse-dot}.streaming-dots span:nth-child(2){animation-delay:.2s}.streaming-dots span:nth-child(3){animation-delay:.4s}.streaming-cursor:after{content:"";background:var(--blue);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.filter-chip{font-size:11px;font-family:var(--sans);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:3px 10px;line-height:1.4;transition:all .15s}.filter-chip:hover{border-color:var(--blue);color:var(--blue)}.filter-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.filter-chip .chip-count{opacity:.65;margin-left:3px;font-size:10px}.clear-split-btn{border:1px solid var(--border);border-radius:6px;align-items:stretch;display:flex}.clear-split-main{font-size:11px;font-family:var(--sans);border:none;border-right:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:5px 0 0 5px;align-items:center;gap:4px;padding:3px 8px;transition:background .15s,color .15s;display:flex}.clear-split-main:hover{background:var(--bg-hover);color:var(--text-secondary)}.clear-split-arrow{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:0 5px 5px 0;align-items:center;padding:0 5px;transition:background .15s,color .15s;display:flex}.clear-split-arrow:hover{background:var(--bg-hover);color:var(--text-secondary)}.clear-dropdown{background:var(--bg-card);border:1px solid var(--border);min-width:230px;box-shadow:var(--shadow-md);z-index:100;border-radius:8px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.clear-dropdown-label{color:var(--text-tertiary);letter-spacing:.03em;text-transform:uppercase;padding:4px 8px 6px;font-size:10px}.clear-dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;font-family:var(--sans);background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;transition:background .12s;display:flex}.clear-dropdown-item:hover{background:var(--bg-hover);color:var(--text)}.clear-dropdown-item.danger{color:var(--red)}.clear-dropdown-item.danger:hover{background:var(--red-bg);color:var(--red)}.clear-dropdown-item svg{flex-shrink:0;margin-top:2px}.clear-dropdown-item-title{font-size:12px;font-weight:500;line-height:1.4}.clear-dropdown-item-desc{opacity:.7;margin-top:1px;font-size:11px;line-height:1.4}.file-group-header{border-top:1px solid var(--border);border-bottom:1px solid var(--border);z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:4px 8px 4px 10px;transition:background .12s;display:flex;position:sticky;top:0}.file-group-header.session{background:var(--bg-active)}.file-group-header.history{background:var(--bg-hover)}.file-group-header:hover{filter:brightness(.97)}[data-theme=dark] .file-group-header:hover{filter:brightness(1.1)}.file-group-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .18s}.file-group-label{color:var(--text-secondary);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10.5px;font-weight:600;font-family:var(--mono);flex:1;overflow:hidden}.file-group-header.session .file-group-label{color:var(--blue)}.file-group-count{font-size:10px;font-family:var(--mono);color:var(--text-tertiary);background:var(--bg-code);border:1px solid var(--border);border-radius:10px;flex-shrink:0;padding:0 5px;line-height:1.6}.file-group-tokens{font-size:10px;font-family:var(--mono);color:var(--blue);background:var(--blue-bg);border-radius:10px;flex-shrink:0;padding:0 5px;line-height:1.6}.file-group-delete{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.file-group-delete:hover{background:var(--red-bg);color:var(--red)}.sidebar-sort-segment{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.sidebar-sort-btn{border:none;border-right:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;background:0 0;padding:3px 8px;font-size:11px;transition:all .1s}.sidebar-sort-btn:last-child{border-right:none}.sidebar-sort-btn:hover{background:var(--bg-hover);color:var(--text)}.sidebar-sort-btn.active{background:var(--blue-bg);color:var(--blue);font-weight:600}.position-indicator{border-bottom:1px solid var(--border-light);color:var(--text-tertiary);align-items:center;gap:8px;padding:4px 10px;font-size:10px;display:flex}.pi-bar{background:var(--border);border-radius:2px;flex:1;height:2px;overflow:hidden}.pi-fill{background:var(--blue);height:100%;transition:width .2s}.resize-handle{cursor:col-resize;z-index:5;flex-shrink:0;width:4px;transition:background .15s;position:relative}.resize-handle:hover,.resize-handle.dragging{background:var(--blue)}.prose-content{color:var(--text);font-size:13.5px;line-height:1.6}.prose-content pre{background:var(--bg-code);border:1px solid var(--border-light);font-family:var(--mono);border-radius:6px;margin:6px 0;padding:10px 14px;font-size:12px;line-height:1.55;overflow-x:auto}.prose-content code:not(pre code){background:var(--bg-code);border:1px solid var(--border-light);font-family:var(--mono);color:var(--purple);border-radius:4px;padding:1px 5px;font-size:12px}.prose-content p{margin:0;line-height:1.6}.prose-content p+p{margin-top:4px}.prose-content ul,.prose-content ol{margin:4px 0;padding-left:20px}.prose-content li{margin:2px 0;line-height:1.55}.prose-content h1,.prose-content h2,.prose-content h3,.prose-content h4{letter-spacing:-.01em;color:var(--text);margin:10px 0 4px;font-weight:600;line-height:1.3}.prose-content h1{font-size:1.15em}.prose-content h2{font-size:1.05em}.prose-content h3{font-size:.95em}.prose-content h4{color:var(--text-secondary);font-size:.9em}.prose-content blockquote{border-left:3px solid var(--blue);color:var(--text-secondary);margin:6px 0;padding-left:12px;font-style:italic}.prose-content hr{border:none;border-top:1px solid var(--border);margin:8px 0}.prose-content table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12.5px}.prose-content th,.prose-content td{border:1px solid var(--border);text-align:left;padding:5px 10px}.prose-content th{background:var(--bg-code);font-weight:600}.prose-content a{color:var(--blue);text-decoration:underline}.prose-content strong{color:var(--text);font-weight:600}.thinking-block{border:1px solid var(--cyan);border-radius:6px;margin:4px 0;overflow:hidden}.thinking-block-header{background:var(--cyan-bg);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--cyan);align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.thinking-block-header:hover{filter:brightness(.97)}.thinking-arrow{margin-right:4px}.thinking-block-header .copy-btn{margin-left:auto}.content-block .md-prose,.content-block .md-prose p,.content-block .md-prose li,.thinking-block .md-prose,.thinking-block .md-prose p,.thinking-block .md-prose li{white-space:normal}.thinking-section{flex-direction:column;gap:8px;display:flex}.thinking-section-meta{align-items:center;gap:10px;display:flex}.thinking-section-lines{color:var(--text-tertiary);font-size:11px;font-family:var(--mono)}.thinking-section-body{font-family:var(--mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--bg-code);border:1px solid var(--border-light);border-radius:var(--radius-sm);max-height:500px;padding:10px 12px;font-size:12px;line-height:1.65;overflow-y:auto}.thinking-section-body.thinking-section-body>.md-prose{font-family:var(--sans);font-size:13px}.thinking-badge{background:color-mix(in srgb, var(--indigo) 12%, transparent);color:var(--indigo)}.section-header:has(+.section-body .thinking-section) .badge{background:color-mix(in srgb, var(--indigo) 12%, transparent);color:var(--indigo)}.msg-role-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.msg-role-toggle:hover{filter:brightness(1.15)}.msg-collapse-arrow{flex-shrink:0;align-self:center;align-items:center;font-size:8px;line-height:1;transition:transform .15s;display:inline-flex}.msg-collapse-arrow.open{transform:rotate(90deg)}.msg-tool-id{opacity:.7;font-size:9px;font-weight:400;font-family:var(--mono);letter-spacing:0}.msg-collapsed-hint{color:var(--text-tertiary);font-size:11px;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.msg-tool-calls{gap:4px;margin-top:6px;display:grid}.copy-btn{opacity:0;border:1px solid var(--border);background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:10px;line-height:1.4;transition:opacity .15s}.copy-btn:hover{color:var(--text);border-color:var(--text-secondary)}.copy-btn.copied{color:var(--green);border-color:var(--green)}.msg-block:hover .copy-btn,.section-header:hover .copy-btn,.thinking-block-header:hover .copy-btn{opacity:1}.detail-content{gap:8px;padding:12px 20px;display:grid}.error-banner{background:var(--red-bg);border:1px solid var(--red-bg-hi);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;line-height:1;display:flex}.eb-icon{color:var(--red);font-size:12px}.eb-code{color:var(--red);font-weight:600}.eb-sep{color:var(--text-tertiary)}.eb-message{color:var(--text-secondary)}.token-usage-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;padding:7px 12px;display:flex}.token-bar{flex-wrap:wrap;flex:1;align-items:center;gap:4px 0;display:flex}.tok-group{border-right:1px solid var(--border);align-items:center;gap:10px;margin-right:12px;padding-right:12px;display:flex}.tok-group:last-child{border-right:none;margin-right:0;padding-right:0}.tok-item{align-items:center;gap:4px;display:flex}.tok-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tok-label{color:var(--text-tertiary);font-size:11px}.tok-val{color:var(--text-secondary);font-weight:600;font-family:var(--mono);font-size:11px}.tok-arrow{flex-shrink:0;font-size:11px;font-weight:700}.timing-bar{align-items:center;gap:0;display:flex}.timing-item{border-right:1px solid var(--border);align-items:center;gap:4px;margin-right:12px;padding-right:12px;display:flex}.timing-item:last-child{border-right:none;margin-right:0;padding-right:0}.section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.section-header:hover{background:var(--bg-hover)}.section-header .chevron{color:var(--text-tertiary);flex-shrink:0;width:12px;font-size:10px;transition:transform .2s}.section-header .chevron.open{transform:rotate(90deg)}.section-header .title{color:var(--text);flex:1;min-width:0;font-size:13px;font-weight:600}.section-header .badge{background:var(--bg);color:var(--text-tertiary);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.section-header .copy-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;opacity:0;padding:3px 10px;font-size:11px;transition:all .15s}.section-header:hover .copy-btn{opacity:1}.section-header .copy-btn:hover{color:var(--blue);border-color:var(--blue)}.section-body{padding:0 12px 12px;display:none;overflow-x:auto}.section-body.open{display:block}.messages-list{gap:8px;display:grid}.msg{border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:10px 14px;font-size:13px;line-height:1.6}.msg.user{background:var(--blue-bg);border-color:#c7d2fe}.msg.assistant{background:var(--green-bg);border-color:#a7f3d0}.msg.system{background:var(--amber-bg);border-color:#fde68a}.msg.tool_result{background:var(--purple-bg);border-color:#c4b5fd}[data-theme=dark] .msg.user{border-color:#1f3a5f}[data-theme=dark] .msg.assistant{border-color:#1a3a26}[data-theme=dark] .msg.system{border-color:#3d3000}[data-theme=dark] .msg.tool_result{border-color:#2a1f48}.msg-header-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-bottom:6px;display:flex}.msg-role{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:4px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.msg.user .msg-role{background:var(--blue)}.msg.assistant .msg-role{background:var(--green)}.msg.system .msg-role{background:var(--amber)}.msg.tool_result .msg-role{background:var(--purple)}.content-block{white-space:pre-wrap;word-break:break-word;margin-top:6px}.content-block:first-child{margin-top:0}.content-block.block-framed{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#ffffff73;margin-top:6px;padding:8px 10px}[data-theme=dark] .content-block.block-framed{background:#ffffff08;border-color:#ffffff14}.content-block-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.system-prompt-blocks .content-block-text{font-family:var(--mono);color:var(--text-secondary);font-size:12px;line-height:1.65}.tool-use-label{color:var(--cyan);background:var(--cyan-bg);border-radius:4px;align-items:center;gap:4px;margin-bottom:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.thinking-preview{font-family:var(--mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.tool-block{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.tool-block-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.tool-block-header:hover{background:var(--bg-hover)}.tb-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:9px;transition:transform .15s}.tb-arrow.open{transform:rotate(90deg)}.tb-name{color:var(--cyan);font-family:var(--mono);flex-shrink:0;font-size:12px;font-weight:600}.tb-desc{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.tool-block-body{border-top:1px solid var(--border-light);padding:10px 12px 12px;font-size:12px;display:none}.tool-block-body.open{display:block}.tb-full-desc{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-bottom:10px;font-size:12px;line-height:1.55}.tb-params-title{color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;font-size:11px;font-weight:600}.tb-param{border-radius:var(--radius-sm);background:var(--bg);margin-bottom:4px;padding:7px 9px}.tb-param-row1{align-items:center;gap:8px;display:flex}.tb-pname{color:var(--blue);font-family:var(--mono);font-size:12px;font-weight:600}.tb-ptype{font-size:10px;font-family:var(--mono);color:var(--amber);background:var(--amber-bg);border-radius:3px;padding:1px 6px;font-weight:500}.tb-prequired{color:var(--red);background:var(--red-bg);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.tb-pdesc{color:var(--text-tertiary);white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:12px;line-height:1.5}.headers-grid{font-family:var(--mono);grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;font-size:11px;display:grid}.header-key{color:var(--purple);white-space:nowrap;font-weight:500}.header-val{color:var(--text-secondary);overflow-wrap:anywhere}.stream-event-row{font-family:var(--mono);border-radius:3px;gap:8px;padding:2px 4px;font-size:11px;display:flex}.stream-event-row:hover{background:var(--bg-hover)}.stream-event-idx{color:var(--text-tertiary);flex-shrink:0;min-width:28px}.stream-event-data{color:var(--text-secondary);overflow-wrap:anywhere}.text-toggle-bar{border:1px solid var(--border);border-radius:5px;margin-top:8px;display:inline-flex;overflow:hidden}.text-toggle-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:10px;line-height:1.6;transition:all .12s}.text-toggle-btn+.text-toggle-btn{border-left:1px solid var(--border)}.text-toggle-btn:hover{color:var(--text)}.text-toggle-btn.active{background:var(--blue-bg);color:var(--blue);font-weight:500}.text-raw{white-space:pre-wrap;word-break:break-word;font-family:var(--sans);color:var(--text);background:0 0;border:none;padding:2px 0;font-size:14px;line-height:1.6}.text-raw.mono{font-size:13px;font-family:var(--mono)}.text-raw.sans{font-family:var(--sans);font-size:14px;line-height:1.6}.text-pane{resize:vertical;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg);min-height:40px;max-height:480px;padding:8px 10px;overflow:auto}.text-pane .md-prose,.text-pane .text-raw{max-height:none;overflow:visible}.thinking-section-body.text-pane{background:var(--bg-code);border-color:var(--border-light);max-height:500px;padding:10px 12px}.md-prose{font-size:14px;line-height:1.6;font-family:var(--sans);color:var(--text);word-break:break-word;overflow-wrap:anywhere}.md-prose p{margin:0 0 6px}.md-prose p:last-child{margin-bottom:0}.md-prose.compact p{margin:0 0 2px}.md-prose.compact h1,.md-prose.compact h2,.md-prose.compact h3,.md-prose.compact h4{margin:8px 0 3px}.md-prose.compact ul,.md-prose.compact ol{margin:2px 0 4px}.md-prose.compact li{margin:1px 0}.md-prose.compact blockquote{margin:4px 0}.md-prose h1,.md-prose h2,.md-prose h3,.md-prose h4,.md-prose h5,.md-prose h6{color:var(--text);margin:14px 0 6px;font-weight:700;line-height:1.3}.md-prose h1{border-bottom:2px solid var(--border);padding-bottom:6px;font-size:1.45em}.md-prose h2{border-bottom:1px solid var(--border-light);padding-bottom:4px;font-size:1.25em}.md-prose h3{font-size:1.1em}.md-prose h4{font-size:1em}.md-prose h5,.md-prose h6{color:var(--text-secondary);font-size:.9em}.md-prose h1:first-child,.md-prose h2:first-child,.md-prose h3:first-child{margin-top:0}.md-prose strong{color:var(--text);font-weight:700}.md-prose em{font-style:italic}.md-prose del{color:var(--text-tertiary);text-decoration:line-through}.md-prose blockquote{border-left:3px solid var(--blue);background:var(--blue-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);margin:10px 0;padding:8px 14px;font-style:italic}.md-prose blockquote p{margin:0}.md-prose blockquote p+p{margin-top:6px}.md-prose ul,.md-prose ol{margin:4px 0 6px;padding-left:1.6em}.md-prose ul{list-style:outside}.md-prose ol{list-style:decimal}.md-prose li,.md-prose li>ul,.md-prose li>ol{margin:3px 0}.md-prose li>p:first-child{margin-top:0}.md-prose li>p:last-child{margin-bottom:0}.md-prose li>.md-code-wrapper:first-child{margin-top:4px}.md-prose li>.md-code-wrapper:last-child{margin-bottom:0}.md-prose li.task-item{margin-left:-1em;list-style:none}.md-prose li:has(>input[type=checkbox]){margin-left:-1em;list-style:none}.md-prose li input[type=checkbox]{accent-color:var(--blue);vertical-align:-1px;margin-right:5px}.md-prose a{color:var(--blue);text-decoration:none}.md-prose a:hover{text-decoration:underline}.md-prose hr{border:none;border-top:1px solid var(--border);margin:16px 0}.md-prose code,.md-prose .md-inline-code{font-family:var(--mono);background:var(--bg-code);color:var(--red);border:1px solid var(--border-light);white-space:pre-wrap;word-break:break-all;border-radius:4px;padding:1px 5px;font-size:.87em}.md-code-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-code);margin:10px 0;overflow:hidden}.md-code-wrapper:last-child{margin-bottom:0}.md-code-header{background:var(--bg-hover);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:28px;padding:5px 10px;display:flex}.md-code-lang{font-family:var(--mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.md-code-copy{border:1px solid var(--border);background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:2px 7px;font-size:10px;line-height:1.6;transition:all .15s;display:inline-flex}.md-code-copy:hover{color:var(--text);border-color:var(--text-secondary)}.md-code-copy.copied{color:var(--green);border-color:var(--green)}.md-code-wrapper pre{background:0 0;border:none;border-radius:0;margin:0;padding:12px 14px;overflow-x:auto}.md-code-wrapper pre code{font-family:var(--mono);color:inherit;white-space:pre;word-break:normal;background:0 0;border:none;padding:0;font-size:12px;line-height:1.6}.md-prose table{border-collapse:collapse;width:100%;margin:10px 0;font-size:12.5px}.md-prose th,.md-prose td{border:1px solid var(--border);text-align:left;padding:7px 12px}.md-prose th{background:var(--bg-hover);color:var(--text);font-weight:600}.md-prose tr:nth-child(2n) td{background:var(--bg)}.md-prose tr:hover td{background:var(--bg-hover)}.md-code-wrapper .hljs{color:#24292e}.md-code-wrapper .hljs-comment,.md-code-wrapper .hljs-punctuation{color:#6a737d}.md-code-wrapper .hljs-attr,.md-code-wrapper .hljs-attribute,.md-code-wrapper .hljs-meta,.md-code-wrapper .hljs-selector-attr,.md-code-wrapper .hljs-selector-class,.md-code-wrapper .hljs-selector-id{color:#005cc5}.md-code-wrapper .hljs-variable,.md-code-wrapper .hljs-literal{color:#e36209}.md-code-wrapper .hljs-number,.md-code-wrapper .hljs-doctag,.md-code-wrapper .hljs-keyword,.md-code-wrapper .hljs-template-tag,.md-code-wrapper .hljs-template-variable,.md-code-wrapper .hljs-type,.md-code-wrapper .hljs-tag{color:#d73a49}.md-code-wrapper .hljs-name{color:#22863a}.md-code-wrapper .hljs-section,.md-code-wrapper .hljs-title{color:#6f42c1;font-weight:700}.md-code-wrapper .hljs-addition,.md-code-wrapper .hljs-selector-tag,.md-code-wrapper .hljs-string,.md-code-wrapper .hljs-emphasis{color:#032f62}.md-code-wrapper .hljs-link,.md-code-wrapper .hljs-operator,.md-code-wrapper .hljs-bullet{color:#005cc5}.md-code-wrapper .hljs-deletion{color:#b31d28}.md-code-wrapper .hljs-strong{font-weight:700}[data-theme=dark] .md-code-wrapper .hljs{color:#e6edf3}[data-theme=dark] .md-code-wrapper .hljs-comment,[data-theme=dark] .md-code-wrapper .hljs-punctuation{color:#8b949e}[data-theme=dark] .md-code-wrapper .hljs-attr,[data-theme=dark] .md-code-wrapper .hljs-attribute,[data-theme=dark] .md-code-wrapper .hljs-meta,[data-theme=dark] .md-code-wrapper .hljs-selector-attr,[data-theme=dark] .md-code-wrapper .hljs-selector-class,[data-theme=dark] .md-code-wrapper .hljs-selector-id{color:#79c0ff}[data-theme=dark] .md-code-wrapper .hljs-variable,[data-theme=dark] .md-code-wrapper .hljs-literal{color:#ffa657}[data-theme=dark] .md-code-wrapper .hljs-number,[data-theme=dark] .md-code-wrapper .hljs-doctag,[data-theme=dark] .md-code-wrapper .hljs-keyword,[data-theme=dark] .md-code-wrapper .hljs-template-tag,[data-theme=dark] .md-code-wrapper .hljs-template-variable,[data-theme=dark] .md-code-wrapper .hljs-type,[data-theme=dark] .md-code-wrapper .hljs-tag{color:#ff7b72}[data-theme=dark] .md-code-wrapper .hljs-name{color:#7ee787}[data-theme=dark] .md-code-wrapper .hljs-section,[data-theme=dark] .md-code-wrapper .hljs-title{color:#d2a8ff;font-weight:700}[data-theme=dark] .md-code-wrapper .hljs-addition,[data-theme=dark] .md-code-wrapper .hljs-selector-tag,[data-theme=dark] .md-code-wrapper .hljs-string,[data-theme=dark] .md-code-wrapper .hljs-emphasis{color:#a5d6ff}[data-theme=dark] .md-code-wrapper .hljs-link,[data-theme=dark] .md-code-wrapper .hljs-operator,[data-theme=dark] .md-code-wrapper .hljs-bullet{color:#79c0ff}[data-theme=dark] .md-code-wrapper .hljs-deletion{color:#ffa198}[data-theme=dark] .md-code-wrapper .hljs-strong{font-weight:700}[data-theme=dark] .md-code-wrapper{border-color:var(--border);background:#161b22}[data-theme=dark] .md-code-wrapper .hljs{background:#161b22}[data-theme=dark] .md-code-header{border-bottom-color:var(--border);background:#21262d}.confirm-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:center;animation:.12s confirm-fade-in;display:flex;position:fixed;inset:0}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:360px;max-width:calc(100vw - 40px);padding:28px 28px 22px;animation:.15s cubic-bezier(.34,1.2,.64,1) confirm-slide-in;box-shadow:0 8px 40px #0000002e,0 2px 8px #0000001a}@keyframes confirm-slide-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon-row{justify-content:center;margin-bottom:14px;display:flex}.confirm-icon{background:color-mix(in srgb, var(--amber) 15%, transparent);width:44px;height:44px;color:var(--amber);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-icon.danger{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.confirm-title{text-align:center;color:var(--text);margin-bottom:8px;font-size:15px;font-weight:600}.confirm-message{color:var(--text-secondary);text-align:center;margin-bottom:22px;font-size:13px;line-height:1.6}.confirm-actions{gap:10px;display:flex}.confirm-btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:8px 0;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,opacity .12s}.confirm-btn.cancel{background:var(--bg);color:var(--text-secondary)}.confirm-btn.cancel:hover{background:var(--bg-hover);border-color:var(--border-strong)}.confirm-btn.ok{background:var(--blue);color:#fff;border-color:#0000}.confirm-btn.ok:hover{opacity:.88}.confirm-btn.ok.danger{background:var(--red)}.confirm-btn:focus-visible{box-shadow:0 0 0 2px var(--blue)}
|
package/dist/web/index.html
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
<title>LLM Proxy Trace</title>
|
|
7
7
|
|
|
8
8
|
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2'><circle cx='12' cy='12' r='10'/><path d='M12 6v6l4 2'/></svg>" />
|
|
9
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
+
<script type="module" crossorigin src="/assets/index-DK50jmUs.js"></script>
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-QTnfLwEv.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/markdown-DsSlw-Z4.js">
|
|
12
12
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-BnH7jZBV.js">
|
|
13
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
13
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C0wH_RGl.css">
|
|
14
14
|
</head>
|
|
15
15
|
<body>
|
|
16
16
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-20{z-index:20}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-1\.5{height:.375rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-full{height:100%}.h-screen{height:100vh}.w-1\.5{width:.375rem}.w-7{width:1.75rem}.w-px{width:1px}.min-w-0{min-width:0}.max-w-\[90px\]{max-width:90px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1\.5{row-gap:.375rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.bg-transparent{background-color:#0000}.p-3{padding:.75rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tracking-tight{letter-spacing:-.025em}.outline-none{outline-offset:2px;outline:2px solid #0000}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg:#f4f5f7;--bg-card:#fff;--bg-hover:#f0f1f4;--bg-active:#e8ecf4;--bg-code:#f6f8fa;--border:#e2e4e9;--border-light:#edeef1;--scrollbar-bg1:#bbbec7;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 2px 8px #00000014;--radius:10px;--radius-sm:6px;--text:#1c2024;--text-secondary:#60646c;--text-tertiary:#a0a4ab;--blue:#3b82f6;--blue-bg:#eff6ff;--green:#10b981;--green-bg:#ecfdf5;--amber:#f59e0b;--amber-bg:#fffbeb;--red:#ef4444;--red-bg:#fef2f2;--red-bg-hi:#fecaca;--green-bg-hi:#bbf7d0;--purple:#8b5cf6;--purple-bg:#f5f3ff;--cyan:#06b6d4;--cyan-bg:#ecfeff;--orange:#f97316;--orange-bg:#fff7ed;--indigo:#6366f1;--mono:ui-monospace, "Cascadia Code", "Cascadia Mono", Consolas, "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", monospace;--sans:"Microsoft YaHei UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", sans-serif}[data-theme=dark]{--bg:#0d1117;--bg-card:#161b22;--bg-hover:#1c2128;--bg-active:#252c35;--bg-code:#1c2128;--border:#30363d;--border-light:#21262d;--scrollbar-bg1:#484f58;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 2px 8px #0006;--text:#e6edf3;--text-secondary:#8b949e;--text-tertiary:#6e7681;--blue:#58a6ff;--blue-bg:#0d2240;--green:#3fb950;--green-bg:#0d2d1a;--amber:#d29922;--amber-bg:#2d2200;--red:#f85149;--red-bg:#3d1117;--red-bg-hi:#6b2020;--green-bg-hi:#1a5c33;--purple:#bc8cff;--purple-bg:#1f1338;--cyan:#39d2c0;--cyan-bg:#0a2e2c;--orange:#f0883e;--orange-bg:#2d1b00;--indigo:#8b8fff}[data-theme=dark] pre,[data-theme=dark] .pre-text{background:#ffffff0a;border-color:#ffffff0f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);font-feature-settings:"cv02", "cv03", "cv04", "cv11";background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;height:100vh;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;min-height:30px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-bg1);border-radius:4px;min-height:40px}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.detail-scroll::-webkit-scrollbar{width:8px}.detail-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-bg1);border-radius:4px;min-height:40px}.detail-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.json-view{font-family:var(--mono);padding:4px 0;font-size:12px;line-height:1.5;overflow-x:auto}.json-view .jk{color:var(--purple)}.json-view .js{color:var(--green);white-space:pre-wrap;word-break:break-all}.json-view .jn{color:var(--amber)}.json-view .jb{color:var(--red)}.json-view .jnull,.json-view .json-punct{color:var(--text-tertiary)}.json-view .jt-line{padding-left:12px}.json-view .jt-toggle{cursor:pointer;color:var(--text-tertiary);text-align:center;-webkit-user-select:none;user-select:none;width:12px;margin-right:2px;font-size:10px;display:inline-block}.json-view .jt-toggle:hover{color:var(--text-secondary)}.json-view .jt-summary{color:var(--text-tertiary);margin-left:4px;font-size:11px;font-style:italic;display:none}.json-view .jt-summary.jt-show{display:inline}.json-view .jt-children{padding-left:4px}.json-view .jt-children:not(.jt-open),.json-view .jt-close.jt-hidden{display:none}[data-theme=dark] .json-view .jk{color:#bc8cff}[data-theme=dark] .json-view .js{color:#3fb950}[data-theme=dark] .json-view .jn{color:#d29922}[data-theme=dark] .json-view .jb{color:#f85149}[data-theme=dark] .json-view .json-punct,[data-theme=dark] .json-view .jt-toggle{color:#6e7681}[data-theme=dark] .json-view .jt-toggle:hover{color:#c9d1d9}[data-theme=dark] .json-view .jt-summary{color:#6e7681}@keyframes pulse-dot{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.streaming-dots{vertical-align:middle;align-items:center;gap:3px;display:inline-flex}.streaming-dots span{background:var(--blue);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite pulse-dot}.streaming-dots span:nth-child(2){animation-delay:.2s}.streaming-dots span:nth-child(3){animation-delay:.4s}.streaming-cursor:after{content:"";background:var(--blue);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.filter-chip{font-size:11px;font-family:var(--sans);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;padding:3px 10px;line-height:1.4;transition:all .15s}.filter-chip:hover{border-color:var(--blue);color:var(--blue)}.filter-chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.filter-chip .chip-count{opacity:.65;margin-left:3px;font-size:10px}.clear-split-btn{border:1px solid var(--border);border-radius:6px;align-items:stretch;display:flex}.clear-split-main{font-size:11px;font-family:var(--sans);border:none;border-right:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:5px 0 0 5px;align-items:center;gap:4px;padding:3px 8px;transition:background .15s,color .15s;display:flex}.clear-split-main:hover{background:var(--bg-hover);color:var(--text-secondary)}.clear-split-arrow{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:0 5px 5px 0;align-items:center;padding:0 5px;transition:background .15s,color .15s;display:flex}.clear-split-arrow:hover{background:var(--bg-hover);color:var(--text-secondary)}.clear-dropdown{background:var(--bg-card);border:1px solid var(--border);min-width:230px;box-shadow:var(--shadow-md);z-index:100;border-radius:8px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.clear-dropdown-label{color:var(--text-tertiary);letter-spacing:.03em;text-transform:uppercase;padding:4px 8px 6px;font-size:10px}.clear-dropdown-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;font-family:var(--sans);background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:8px;padding:8px 10px;transition:background .12s;display:flex}.clear-dropdown-item:hover{background:var(--bg-hover);color:var(--text)}.clear-dropdown-item.danger{color:var(--red)}.clear-dropdown-item.danger:hover{background:var(--red-bg);color:var(--red)}.clear-dropdown-item svg{flex-shrink:0;margin-top:2px}.clear-dropdown-item-title{font-size:12px;font-weight:500;line-height:1.4}.clear-dropdown-item-desc{opacity:.7;margin-top:1px;font-size:11px;line-height:1.4}.file-group-header{border-top:1px solid var(--border);border-bottom:1px solid var(--border);z-index:1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:4px 8px 4px 10px;transition:background .12s;display:flex;position:sticky;top:0}.file-group-header.session{background:var(--bg-active)}.file-group-header.history{background:var(--bg-hover)}.file-group-header:hover{filter:brightness(.97)}[data-theme=dark] .file-group-header:hover{filter:brightness(1.1)}.file-group-chevron{color:var(--text-tertiary);flex-shrink:0;transition:transform .18s}.file-group-label{color:var(--text-secondary);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10.5px;font-weight:600;font-family:var(--mono);flex:1;overflow:hidden}.file-group-header.session .file-group-label{color:var(--blue)}.file-group-count{font-size:10px;font-family:var(--mono);color:var(--text-tertiary);background:var(--bg-code);border:1px solid var(--border);border-radius:10px;flex-shrink:0;padding:0 5px;line-height:1.6}.file-group-tokens{font-size:10px;font-family:var(--mono);color:var(--blue);background:var(--blue-bg);border-radius:10px;flex-shrink:0;padding:0 5px;line-height:1.6}.file-group-delete{width:20px;height:20px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.file-group-delete:hover{background:var(--red-bg);color:var(--red)}.sidebar-sort-segment{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.sidebar-sort-btn{border:none;border-right:1px solid var(--border);color:var(--text-tertiary);cursor:pointer;background:0 0;padding:3px 8px;font-size:11px;transition:all .1s}.sidebar-sort-btn:last-child{border-right:none}.sidebar-sort-btn:hover{background:var(--bg-hover);color:var(--text)}.sidebar-sort-btn.active{background:var(--blue-bg);color:var(--blue);font-weight:600}.position-indicator{border-bottom:1px solid var(--border-light);color:var(--text-tertiary);align-items:center;gap:8px;padding:4px 10px;font-size:10px;display:flex}.pi-bar{background:var(--border);border-radius:2px;flex:1;height:2px;overflow:hidden}.pi-fill{background:var(--blue);height:100%;transition:width .2s}.resize-handle{cursor:col-resize;z-index:5;flex-shrink:0;width:4px;transition:background .15s;position:relative}.resize-handle:hover,.resize-handle.dragging{background:var(--blue)}.prose-content{color:var(--text);font-size:13.5px;line-height:1.6}.prose-content pre{background:var(--bg-code);border:1px solid var(--border-light);font-family:var(--mono);border-radius:6px;margin:6px 0;padding:10px 14px;font-size:12px;line-height:1.55;overflow-x:auto}.prose-content code:not(pre code){background:var(--bg-code);border:1px solid var(--border-light);font-family:var(--mono);color:var(--purple);border-radius:4px;padding:1px 5px;font-size:12px}.prose-content p{margin:0;line-height:1.6}.prose-content p+p{margin-top:4px}.prose-content ul,.prose-content ol{margin:4px 0;padding-left:20px}.prose-content li{margin:2px 0;line-height:1.55}.prose-content h1,.prose-content h2,.prose-content h3,.prose-content h4{letter-spacing:-.01em;color:var(--text);margin:10px 0 4px;font-weight:600;line-height:1.3}.prose-content h1{font-size:1.15em}.prose-content h2{font-size:1.05em}.prose-content h3{font-size:.95em}.prose-content h4{color:var(--text-secondary);font-size:.9em}.prose-content blockquote{border-left:3px solid var(--blue);color:var(--text-secondary);margin:6px 0;padding-left:12px;font-style:italic}.prose-content hr{border:none;border-top:1px solid var(--border);margin:8px 0}.prose-content table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12.5px}.prose-content th,.prose-content td{border:1px solid var(--border);text-align:left;padding:5px 10px}.prose-content th{background:var(--bg-code);font-weight:600}.prose-content a{color:var(--blue);text-decoration:underline}.prose-content strong{color:var(--text);font-weight:600}.thinking-block{border:1px solid var(--cyan);border-radius:6px;margin:4px 0;overflow:hidden}.thinking-block-header{background:var(--cyan-bg);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--cyan);align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:flex}.thinking-block-header:hover{filter:brightness(.97)}.thinking-arrow{margin-right:4px}.thinking-block-header .copy-btn{margin-left:auto}.thinking-block .md-prose,.thinking-block .md-prose p,.thinking-block .md-prose li{white-space:normal}.thinking-section{flex-direction:column;gap:8px;display:flex}.thinking-section-meta{align-items:center;gap:10px;display:flex}.thinking-section-lines{color:var(--text-tertiary);font-size:11px;font-family:var(--mono)}.thinking-section-body{font-family:var(--mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:var(--bg-code);border:1px solid var(--border-light);border-radius:var(--radius-sm);max-height:500px;padding:10px 12px;font-size:12px;line-height:1.65;overflow-y:auto}.thinking-section-body.thinking-section-body>.md-prose{font-family:var(--sans);font-size:13px}.thinking-badge{background:color-mix(in srgb, var(--indigo) 12%, transparent);color:var(--indigo)}.section-header:has(+.section-body .thinking-section) .badge{background:color-mix(in srgb, var(--indigo) 12%, transparent);color:var(--indigo)}.msg-role-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.msg-role-toggle:hover{filter:brightness(1.15)}.msg-collapse-arrow{flex-shrink:0;align-self:center;align-items:center;font-size:8px;line-height:1;transition:transform .15s;display:inline-flex}.msg-collapse-arrow.open{transform:rotate(90deg)}.msg-tool-id{opacity:.7;font-size:9px;font-weight:400;font-family:var(--mono);letter-spacing:0}.msg-collapsed-hint{color:var(--text-tertiary);font-size:11px;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.msg-tool-calls{gap:4px;margin-top:6px;display:grid}.copy-btn{opacity:0;border:1px solid var(--border);background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;border-radius:4px;padding:2px 6px;font-size:10px;line-height:1.4;transition:opacity .15s}.copy-btn:hover{color:var(--text);border-color:var(--text-secondary)}.copy-btn.copied{color:var(--green);border-color:var(--green)}.msg-block:hover .copy-btn,.section-header:hover .copy-btn,.thinking-block-header:hover .copy-btn{opacity:1}.detail-content{gap:8px;padding:12px 20px;display:grid}.error-banner{background:var(--red-bg);border:1px solid var(--red-bg-hi);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;line-height:1;display:flex}.eb-icon{color:var(--red);font-size:12px}.eb-code{color:var(--red);font-weight:600}.eb-sep{color:var(--text-tertiary)}.eb-message{color:var(--text-secondary)}.token-usage-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;padding:7px 12px;display:flex}.token-bar{flex-wrap:wrap;flex:1;align-items:center;gap:4px 0;display:flex}.tok-group{border-right:1px solid var(--border);align-items:center;gap:10px;margin-right:12px;padding-right:12px;display:flex}.tok-group:last-child{border-right:none;margin-right:0;padding-right:0}.tok-item{align-items:center;gap:4px;display:flex}.tok-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tok-label{color:var(--text-tertiary);font-size:11px}.tok-val{color:var(--text-secondary);font-weight:600;font-family:var(--mono);font-size:11px}.tok-arrow{flex-shrink:0;font-size:11px;font-weight:700}.timing-bar{align-items:center;gap:0;display:flex}.timing-item{border-right:1px solid var(--border);align-items:center;gap:4px;margin-right:12px;padding-right:12px;display:flex}.timing-item:last-child{border-right:none;margin-right:0;padding-right:0}.section{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow-sm);overflow:hidden}.section-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.section-header:hover{background:var(--bg-hover)}.section-header .chevron{color:var(--text-tertiary);flex-shrink:0;width:12px;font-size:10px;transition:transform .2s}.section-header .chevron.open{transform:rotate(90deg)}.section-header .title{color:var(--text);flex:1;min-width:0;font-size:13px;font-weight:600}.section-header .badge{background:var(--bg);color:var(--text-tertiary);white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.section-header .copy-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;opacity:0;padding:3px 10px;font-size:11px;transition:all .15s}.section-header:hover .copy-btn{opacity:1}.section-header .copy-btn:hover{color:var(--blue);border-color:var(--blue)}.section-body{padding:0 12px 12px;display:none;overflow-x:auto}.section-body.open{display:block}.messages-list{gap:8px;display:grid}.msg{border-radius:var(--radius-sm);border:1px solid var(--border-light);padding:10px 14px;font-size:13px;line-height:1.6}.msg.user{background:var(--blue-bg);border-color:#c7d2fe}.msg.assistant{background:var(--green-bg);border-color:#a7f3d0}.msg.system{background:var(--amber-bg);border-color:#fde68a}.msg.tool_result{background:var(--purple-bg);border-color:#c4b5fd}[data-theme=dark] .msg.user{border-color:#1f3a5f}[data-theme=dark] .msg.assistant{border-color:#1a3a26}[data-theme=dark] .msg.system{border-color:#3d3000}[data-theme=dark] .msg.tool_result{border-color:#2a1f48}.msg-header-row{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;margin-bottom:6px;display:flex}.msg-role{text-transform:uppercase;letter-spacing:.5px;color:#fff;border-radius:4px;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.msg.user .msg-role{background:var(--blue)}.msg.assistant .msg-role{background:var(--green)}.msg.system .msg-role{background:var(--amber)}.msg.tool_result .msg-role{background:var(--purple)}.content-block{white-space:pre-wrap;word-break:break-word;margin-top:6px}.content-block:first-child{margin-top:0}.content-block.block-framed{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#ffffff73;margin-top:6px;padding:8px 10px}[data-theme=dark] .content-block.block-framed{background:#ffffff08;border-color:#ffffff14}.content-block-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.system-prompt-blocks .content-block-text{font-family:var(--mono);color:var(--text-secondary);font-size:12px;line-height:1.65}.tool-use-label{color:var(--cyan);background:var(--cyan-bg);border-radius:4px;align-items:center;gap:4px;margin-bottom:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.thinking-preview{font-family:var(--mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:11px;overflow:hidden}.tool-block{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);overflow:hidden}.tool-block-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:baseline;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.tool-block-header:hover{background:var(--bg-hover)}.tb-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:9px;transition:transform .15s}.tb-arrow.open{transform:rotate(90deg)}.tb-name{color:var(--cyan);font-family:var(--mono);flex-shrink:0;font-size:12px;font-weight:600}.tb-desc{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;overflow:hidden}.tool-block-body{border-top:1px solid var(--border-light);padding:10px 12px 12px;font-size:12px;display:none}.tool-block-body.open{display:block}.tb-full-desc{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-bottom:10px;font-size:12px;line-height:1.55}.tb-params-title{color:var(--text);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px;font-size:11px;font-weight:600}.tb-param{border-radius:var(--radius-sm);background:var(--bg);margin-bottom:4px;padding:7px 9px}.tb-param-row1{align-items:center;gap:8px;display:flex}.tb-pname{color:var(--blue);font-family:var(--mono);font-size:12px;font-weight:600}.tb-ptype{font-size:10px;font-family:var(--mono);color:var(--amber);background:var(--amber-bg);border-radius:3px;padding:1px 6px;font-weight:500}.tb-prequired{color:var(--red);background:var(--red-bg);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.tb-pdesc{color:var(--text-tertiary);white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:12px;line-height:1.5}.headers-grid{font-family:var(--mono);grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;font-size:11px;display:grid}.header-key{color:var(--purple);white-space:nowrap;font-weight:500}.header-val{color:var(--text-secondary);overflow-wrap:anywhere}.stream-event-row{font-family:var(--mono);border-radius:3px;gap:8px;padding:2px 4px;font-size:11px;display:flex}.stream-event-row:hover{background:var(--bg-hover)}.stream-event-idx{color:var(--text-tertiary);flex-shrink:0;min-width:28px}.stream-event-data{color:var(--text-secondary);overflow-wrap:anywhere}.text-toggle-bar{border:1px solid var(--border);border-radius:5px;margin-top:8px;display:inline-flex;overflow:hidden}.text-toggle-btn{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:2px 8px;font-size:10px;line-height:1.6;transition:all .12s}.text-toggle-btn+.text-toggle-btn{border-left:1px solid var(--border)}.text-toggle-btn:hover{color:var(--text)}.text-toggle-btn.active{background:var(--blue-bg);color:var(--blue);font-weight:500}.text-raw{white-space:pre-wrap;word-break:break-word;font-family:var(--sans);color:var(--text);background:0 0;border:none;padding:2px 0;font-size:14px;line-height:1.6}.text-raw.mono{font-size:13px;font-family:var(--mono)}.text-raw.sans{font-family:var(--sans);font-size:14px;line-height:1.6}.text-pane{resize:vertical;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg);min-height:40px;max-height:480px;padding:8px 10px;overflow:auto}.text-pane .md-prose,.text-pane .text-raw{max-height:none;overflow:visible}.thinking-section-body.text-pane{background:var(--bg-code);border-color:var(--border-light);max-height:500px;padding:10px 12px}.md-prose{font-size:14px;line-height:1.6;font-family:var(--sans);color:var(--text);word-break:break-word;overflow-wrap:anywhere}.md-prose p{margin:0 0 6px}.md-prose p:last-child{margin-bottom:0}.md-prose.compact p{margin:0 0 2px}.md-prose.compact h1,.md-prose.compact h2,.md-prose.compact h3,.md-prose.compact h4{margin:8px 0 3px}.md-prose.compact ul,.md-prose.compact ol{margin:2px 0 4px}.md-prose.compact li{margin:1px 0}.md-prose.compact blockquote{margin:4px 0}.md-prose h1,.md-prose h2,.md-prose h3,.md-prose h4,.md-prose h5,.md-prose h6{color:var(--text);margin:14px 0 6px;font-weight:700;line-height:1.3}.md-prose h1{border-bottom:2px solid var(--border);padding-bottom:6px;font-size:1.45em}.md-prose h2{border-bottom:1px solid var(--border-light);padding-bottom:4px;font-size:1.25em}.md-prose h3{font-size:1.1em}.md-prose h4{font-size:1em}.md-prose h5,.md-prose h6{color:var(--text-secondary);font-size:.9em}.md-prose h1:first-child,.md-prose h2:first-child,.md-prose h3:first-child{margin-top:0}.md-prose strong{color:var(--text);font-weight:700}.md-prose em{font-style:italic}.md-prose del{color:var(--text-tertiary);text-decoration:line-through}.md-prose blockquote{border-left:3px solid var(--blue);background:var(--blue-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);margin:10px 0;padding:8px 14px;font-style:italic}.md-prose blockquote p{margin:0}.md-prose blockquote p+p{margin-top:6px}.md-prose ul,.md-prose ol{margin:4px 0 6px;padding-left:1.6em}.md-prose ul{list-style:outside}.md-prose ol{list-style:decimal}.md-prose li,.md-prose li>ul,.md-prose li>ol{margin:3px 0}.md-prose li>p:first-child{margin-top:0}.md-prose li>p:last-child{margin-bottom:0}.md-prose li>.md-code-wrapper:first-child{margin-top:4px}.md-prose li>.md-code-wrapper:last-child{margin-bottom:0}.md-prose li.task-item{margin-left:-1em;list-style:none}.md-prose li:has(>input[type=checkbox]){margin-left:-1em;list-style:none}.md-prose li input[type=checkbox]{accent-color:var(--blue);vertical-align:-1px;margin-right:5px}.md-prose a{color:var(--blue);text-decoration:none}.md-prose a:hover{text-decoration:underline}.md-prose hr{border:none;border-top:1px solid var(--border);margin:16px 0}.md-prose code,.md-prose .md-inline-code{font-family:var(--mono);background:var(--bg-code);color:var(--red);border:1px solid var(--border-light);white-space:pre-wrap;word-break:break-all;border-radius:4px;padding:1px 5px;font-size:.87em}.md-code-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-code);margin:10px 0;overflow:hidden}.md-code-wrapper:last-child{margin-bottom:0}.md-code-header{background:var(--bg-hover);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:28px;padding:5px 10px;display:flex}.md-code-lang{font-family:var(--mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.md-code-copy{border:1px solid var(--border);background:var(--bg-card);color:var(--text-tertiary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:2px 7px;font-size:10px;line-height:1.6;transition:all .15s;display:inline-flex}.md-code-copy:hover{color:var(--text);border-color:var(--text-secondary)}.md-code-copy.copied{color:var(--green);border-color:var(--green)}.md-code-wrapper pre{background:0 0;border:none;border-radius:0;margin:0;padding:12px 14px;overflow-x:auto}.md-code-wrapper pre code{font-family:var(--mono);color:inherit;white-space:pre;word-break:normal;background:0 0;border:none;padding:0;font-size:12px;line-height:1.6}.md-prose table{border-collapse:collapse;width:100%;margin:10px 0;font-size:12.5px}.md-prose th,.md-prose td{border:1px solid var(--border);text-align:left;padding:7px 12px}.md-prose th{background:var(--bg-hover);color:var(--text);font-weight:600}.md-prose tr:nth-child(2n) td{background:var(--bg)}.md-prose tr:hover td{background:var(--bg-hover)}.md-code-wrapper .hljs{color:#24292e}.md-code-wrapper .hljs-comment,.md-code-wrapper .hljs-punctuation{color:#6a737d}.md-code-wrapper .hljs-attr,.md-code-wrapper .hljs-attribute,.md-code-wrapper .hljs-meta,.md-code-wrapper .hljs-selector-attr,.md-code-wrapper .hljs-selector-class,.md-code-wrapper .hljs-selector-id{color:#005cc5}.md-code-wrapper .hljs-variable,.md-code-wrapper .hljs-literal{color:#e36209}.md-code-wrapper .hljs-number,.md-code-wrapper .hljs-doctag,.md-code-wrapper .hljs-keyword,.md-code-wrapper .hljs-template-tag,.md-code-wrapper .hljs-template-variable,.md-code-wrapper .hljs-type,.md-code-wrapper .hljs-tag{color:#d73a49}.md-code-wrapper .hljs-name{color:#22863a}.md-code-wrapper .hljs-section,.md-code-wrapper .hljs-title{color:#6f42c1;font-weight:700}.md-code-wrapper .hljs-addition,.md-code-wrapper .hljs-selector-tag,.md-code-wrapper .hljs-string,.md-code-wrapper .hljs-emphasis{color:#032f62}.md-code-wrapper .hljs-link,.md-code-wrapper .hljs-operator,.md-code-wrapper .hljs-bullet{color:#005cc5}.md-code-wrapper .hljs-deletion{color:#b31d28}.md-code-wrapper .hljs-strong{font-weight:700}[data-theme=dark] .md-code-wrapper .hljs{color:#e6edf3}[data-theme=dark] .md-code-wrapper .hljs-comment,[data-theme=dark] .md-code-wrapper .hljs-punctuation{color:#8b949e}[data-theme=dark] .md-code-wrapper .hljs-attr,[data-theme=dark] .md-code-wrapper .hljs-attribute,[data-theme=dark] .md-code-wrapper .hljs-meta,[data-theme=dark] .md-code-wrapper .hljs-selector-attr,[data-theme=dark] .md-code-wrapper .hljs-selector-class,[data-theme=dark] .md-code-wrapper .hljs-selector-id{color:#79c0ff}[data-theme=dark] .md-code-wrapper .hljs-variable,[data-theme=dark] .md-code-wrapper .hljs-literal{color:#ffa657}[data-theme=dark] .md-code-wrapper .hljs-number,[data-theme=dark] .md-code-wrapper .hljs-doctag,[data-theme=dark] .md-code-wrapper .hljs-keyword,[data-theme=dark] .md-code-wrapper .hljs-template-tag,[data-theme=dark] .md-code-wrapper .hljs-template-variable,[data-theme=dark] .md-code-wrapper .hljs-type,[data-theme=dark] .md-code-wrapper .hljs-tag{color:#ff7b72}[data-theme=dark] .md-code-wrapper .hljs-name{color:#7ee787}[data-theme=dark] .md-code-wrapper .hljs-section,[data-theme=dark] .md-code-wrapper .hljs-title{color:#d2a8ff;font-weight:700}[data-theme=dark] .md-code-wrapper .hljs-addition,[data-theme=dark] .md-code-wrapper .hljs-selector-tag,[data-theme=dark] .md-code-wrapper .hljs-string,[data-theme=dark] .md-code-wrapper .hljs-emphasis{color:#a5d6ff}[data-theme=dark] .md-code-wrapper .hljs-link,[data-theme=dark] .md-code-wrapper .hljs-operator,[data-theme=dark] .md-code-wrapper .hljs-bullet{color:#79c0ff}[data-theme=dark] .md-code-wrapper .hljs-deletion{color:#ffa198}[data-theme=dark] .md-code-wrapper .hljs-strong{font-weight:700}[data-theme=dark] .md-code-wrapper{border-color:var(--border);background:#161b22}[data-theme=dark] .md-code-wrapper .hljs{background:#161b22}[data-theme=dark] .md-code-header{border-bottom-color:var(--border);background:#21262d}.confirm-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:center;animation:.12s confirm-fade-in;display:flex;position:fixed;inset:0}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:360px;max-width:calc(100vw - 40px);padding:28px 28px 22px;animation:.15s cubic-bezier(.34,1.2,.64,1) confirm-slide-in;box-shadow:0 8px 40px #0000002e,0 2px 8px #0000001a}@keyframes confirm-slide-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-icon-row{justify-content:center;margin-bottom:14px;display:flex}.confirm-icon{background:color-mix(in srgb, var(--amber) 15%, transparent);width:44px;height:44px;color:var(--amber);border-radius:50%;justify-content:center;align-items:center;display:flex}.confirm-icon.danger{background:color-mix(in srgb, var(--red) 15%, transparent);color:var(--red)}.confirm-title{text-align:center;color:var(--text);margin-bottom:8px;font-size:15px;font-weight:600}.confirm-message{color:var(--text-secondary);text-align:center;margin-bottom:22px;font-size:13px;line-height:1.6}.confirm-actions{gap:10px;display:flex}.confirm-btn{border:1px solid var(--border);cursor:pointer;border-radius:8px;outline:none;flex:1;padding:8px 0;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,opacity .12s}.confirm-btn.cancel{background:var(--bg);color:var(--text-secondary)}.confirm-btn.cancel:hover{background:var(--bg-hover);border-color:var(--border-strong)}.confirm-btn.ok{background:var(--blue);color:#fff;border-color:#0000}.confirm-btn.ok:hover{opacity:.88}.confirm-btn.ok.danger{background:var(--red)}.confirm-btn:focus-visible{box-shadow:0 0 0 2px var(--blue)}
|
|
File without changes
|