dsh-plugin-streamnest 0.0.2 → 0.0.4
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/README.en.md +2 -0
- package/README.md +2 -0
- package/lib/THIRD_PARTY_LICENSES.txt +2 -2
- package/lib/apps/api/src/media/directory-sync.js +13 -2
- package/lib/apps/api/src/media/directory-sync.js.map +1 -1
- package/lib/apps/api/src/runtime/runtime-discovery.js +4 -5
- package/lib/apps/api/src/runtime/runtime-discovery.js.map +1 -1
- package/lib/apps/shared/src/brand.js +1 -1
- package/lib/client.js +409 -366
- package/package.json +22 -22
package/lib/client.js
CHANGED
|
@@ -5,7 +5,7 @@ window.__ModuleLoader__.load({
|
|
|
5
5
|
const exports = module.exports;
|
|
6
6
|
const style = document.querySelector('style[data-plugin-css="streamnest"]') ?? document.createElement('style');
|
|
7
7
|
style.dataset.pluginCss = 'streamnest';
|
|
8
|
-
style.textContent = "/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/StateDot.module.css */\n.StateDot_dot {\n position: relative;\n display: inline-block;\n flex: none;\n}\n.StateDot_dot::after {\n content: \"\";\n position: absolute;\n inset: 20%;\n border-radius: 50%;\n corner-shape: round;\n background: currentColor;\n}\n.StateDot_dot[data-state=done] {\n color: var(--dsw-alias-state-success-primary);\n}\n.StateDot_dot[data-state=warning] {\n color: var(--dsw-alias-state-warn-primary);\n}\n.StateDot_dot[data-state=error] {\n color: var(--dsw-alias-state-error-primary);\n}\n.StateDot_dot[data-state=idle] {\n color: var(--dsw-alias-state-idle-primary);\n}\n.StateDot_spinner {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n.StateDot_spinnerMotion {\n transform-origin: center;\n animation: StateDot_dsh-state-dot-spin 1.5s linear infinite;\n}\n.StateDot_spinnerTrack,\n.StateDot_spinnerArc {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n.StateDot_spinnerTrack {\n opacity: 0.25;\n}\n.StateDot_spinnerArc {\n stroke-dasharray: 12 150;\n animation: StateDot_dsh-state-dot-dash 1.5s ease-in-out infinite;\n}\n@keyframes StateDot_dsh-state-dot-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes StateDot_dsh-state-dot-dash {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n 100% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .StateDot_spinnerMotion,\n .StateDot_spinnerArc {\n animation: none;\n }\n .StateDot_spinnerArc {\n stroke-dasharray: 18 150;\n stroke-dashoffset: -3;\n }\n}\n.StateDot_step {\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n border-radius: 50%;\n corner-shape: round;\n border: 1.5px solid var(--dsw-alias-label-tertiary);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.StateDot_step[data-state=done] {\n border-color: var(--dsw-alias-state-success-primary);\n background: var(--dsw-alias-state-success-primary);\n}\n.StateDot_step[data-state=error] {\n border-color: var(--dsw-alias-state-error-primary);\n background: var(--dsw-alias-state-error-primary);\n}\n.StateDot_step[data-state=warning] {\n border-color: var(--dsw-alias-state-warn-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css */\n.TextShimmer_root {\n position: relative;\n display: inline-grid;\n width: max-content;\n max-width: 100%;\n min-width: 0;\n vertical-align: top;\n color: inherit;\n}\n.TextShimmer_content {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.TextShimmer_text {\n color: inherit;\n}\n.TextShimmer_text[data-shimmer-text]::after {\n content: attr(data-shimmer-text);\n}\n.TextShimmer_decoration {\n position: absolute;\n inset: 0;\n overflow: clip;\n pointer-events: none;\n user-select: none;\n}\n.TextShimmer_sweep {\n position: absolute;\n inset: 0;\n overflow: hidden;\n color: var(--dsw-alias-label-shimmer);\n mask-image:\n linear-gradient(\n 105deg,\n transparent 0%,\n black 40% 60%,\n transparent 100%);\n transform: translateX(-100%);\n animation-name: TextShimmer_dsh-row-shimmer-sweep;\n}\n.TextShimmer_sweep * {\n color: inherit !important;\n}\n.TextShimmer_sweep [data-shimmer-decoration] {\n background: currentColor;\n}\n.TextShimmer_highlight {\n width: 100%;\n height: 100%;\n transform: translateX(100%);\n animation-name: TextShimmer_dsh-row-shimmer-highlight;\n}\n.TextShimmer_sweep,\n.TextShimmer_highlight {\n animation-duration: 1.5s;\n animation-delay: 0.3s;\n animation-timing-function: steps(48, end);\n animation-iteration-count: infinite;\n}\n@keyframes TextShimmer_dsh-row-shimmer-sweep {\n 0% {\n transform: translateX(-100%);\n }\n 66.6667%, 100% {\n transform: translateX(100%);\n }\n}\n@keyframes TextShimmer_dsh-row-shimmer-highlight {\n 0% {\n transform: translateX(100%);\n }\n 66.6667%, 100% {\n transform: translateX(-100%);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .TextShimmer_decoration {\n display: none;\n }\n .TextShimmer_sweep,\n .TextShimmer_highlight {\n animation: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css */\n.DisclosureRow_root {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n}\n.DisclosureRow_row {\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n height: calc(24px + var(--dsh-content-font-delta, 0px));\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n transition: color 100ms ease;\n}\n.DisclosureRow_row[data-expandable] {\n cursor: pointer;\n}\n.DisclosureRow_row:hover {\n color: var(--dsw-alias-label-secondary);\n}\n.DisclosureRow_leading {\n position: relative;\n flex: none;\n width: calc(16px + var(--dsh-content-font-delta, 0px));\n height: calc(16px + var(--dsh-content-font-delta, 0px));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-right: 6px;\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n}\n.DisclosureRow_leading svg:not([data-state]) {\n width: calc(14px + var(--dsh-content-font-delta, 0px));\n height: calc(14px + var(--dsh-content-font-delta, 0px));\n}\nbutton.DisclosureRow_leading {\n cursor: pointer;\n}\n.DisclosureRow_iconIdle {\n display: inline-flex;\n opacity: 1;\n transition: opacity 100ms ease;\n}\n.DisclosureRow_chevronHover {\n position: absolute;\n inset: 0;\n margin: auto;\n opacity: 0;\n transition: opacity 100ms ease;\n}\n.DisclosureRow_row:hover .DisclosureRow_iconIdle {\n opacity: 0;\n}\n.DisclosureRow_row:hover .DisclosureRow_chevronHover {\n opacity: 1;\n}\n.DisclosureRow_title {\n flex: none;\n font-size: var(--dsh-content-font-size-secondary, 13px);\n line-height: calc(24px + var(--dsh-content-font-delta, 0px));\n color: inherit;\n}\n@media (prefers-reduced-motion: reduce) {\n .DisclosureRow_row {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css */\n.Button_button {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n border: none;\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: 14px;\n line-height: 22px;\n color: var(--dsw-alias-label-primary);\n background: transparent;\n padding: 0 14px;\n}\n.Button_button:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n.Button_md {\n height: 36px;\n}\n.Button_sm {\n height: 28px;\n font-size: 12px;\n line-height: 18px;\n padding: 0 10px;\n border-radius: var(--dsw-radius-sm);\n}\n.Button_primary {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.Button_primary:hover:not(:disabled) {\n background: var(--dsw-alias-button-primary-hover);\n}\n.Button_ghost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Button_ghost:active:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-active);\n}\n.Button_outline {\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: transparent;\n}\n.Button_outline:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Button_toolbar {\n background: var(--dsw-alias-button-tool-bar-fill);\n}\n.Button_toolbar:hover:not(:disabled) {\n background: var(--dsw-alias-button-tool-bar-hover);\n}\n.Button_icon {\n display: inline-flex;\n width: 16px;\n height: 16px;\n align-items: center;\n justify-content: center;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Pill.module.css */\n.Pill_pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 24px;\n padding: 0 8px;\n border: none;\n border-radius: 999px;\n corner-shape: round;\n font-size: 12px;\n line-height: 18px;\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-2);\n}\n.Pill_interactive {\n cursor: pointer;\n}\n.Pill_interactive:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Pill_active {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-button-ghost-active-fill);\n box-shadow: inset 0 0 0 1px var(--dsw-alias-button-ghost-active-border);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SegmentedTabs.module.css */\n.SegmentedTabs_tabs {\n position: relative;\n display: grid;\n padding: 4px;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-module-platform);\n}\n.SegmentedTabs_indicator {\n position: absolute;\n inset: 4px auto 4px 4px;\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n transition: transform 180ms ease;\n pointer-events: none;\n}\n.SegmentedTabs_tab {\n position: relative;\n justify-content: center;\n height: 34px;\n padding: 0 12px;\n border-radius: var(--dsw-radius-md);\n font-size: 14px;\n line-height: 20px;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n transition: color 180ms ease;\n}\n.SegmentedTabs_tab:hover,\n.SegmentedTabs_tab[aria-selected=true] {\n background: transparent;\n color: var(--dsw-alias-label-primary);\n}\n.SegmentedTabs_tab[aria-selected=true] {\n font-weight: 600;\n}\n.SegmentedTabs_tab:focus-visible {\n outline: none;\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 4px;\n}\n@media (prefers-reduced-motion: reduce) {\n .SegmentedTabs_indicator,\n .SegmentedTabs_tab {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tag.module.css */\n.Tag_tag {\n display: inline-flex;\n align-items: center;\n border-radius: 999px;\n corner-shape: round;\n padding: 1px 8px;\n font-size: 11px;\n line-height: 17px;\n font-weight: 500;\n white-space: nowrap;\n}\n.Tag_tag[data-tone=outline] {\n border: 0.5px solid var(--dsw-alias-border-l4);\n color: var(--dsw-alias-label-tertiary);\n}\n.Tag_tag[data-tone=solid] {\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-layer-3);\n}\n.Tag_tag[data-tone=neutral] {\n background: var(--dsw-alias-bg-module-platform);\n color: var(--dsw-alias-label-secondary);\n}\n.Tag_tag[data-tone=quiet] {\n color: var(--dsw-alias-label-tertiary);\n}\n.Tag_tag[data-tone=success] {\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n color: var(--dsw-alias-state-success-primary);\n}\n.Tag_tag[data-tone=info] {\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 10%, transparent);\n color: var(--dsw-alias-state-business-primary);\n}\n.Tag_tag[data-tone=warning] {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n color: var(--dsw-alias-state-warn-primary);\n}\n.Tag_tag[data-tone=danger] {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/PathLabel.module.css */\n.PathLabel_path {\n display: flex;\n flex: 1 1 auto;\n justify-content: flex-end;\n min-width: 0;\n overflow: hidden;\n font-size: 12px;\n white-space: nowrap;\n}\n.PathLabel_path[data-path-clipped] {\n mask-image:\n linear-gradient(\n to right,\n transparent,\n black 28px);\n}\n.PathLabel_text {\n flex: none;\n margin-right: auto;\n}\n.PathLabel_directory {\n color: var(--dsw-alias-label-tertiary);\n}\n.PathLabel_name {\n color: var(--dsw-alias-label-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Switch.module.css */\n.Switch_switch {\n box-sizing: border-box;\n position: relative;\n flex: 0 0 auto;\n width: 36px;\n height: 20px;\n padding: 2px;\n border: 0;\n border-radius: 999px;\n corner-shape: round;\n background: var(--dsw-alias-border-l3);\n cursor: pointer;\n}\n.Switch_switch[aria-checked=true] {\n background: var(--dsw-alias-brand-primary);\n}\n.Switch_switch:disabled {\n cursor: default;\n opacity: 0.5;\n}\n.Switch_switch:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.Switch_thumb {\n display: block;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n corner-shape: round;\n background: var(--dsw-alias-label-primary-foreground);\n transition: transform 120ms ease;\n}\n.Switch_switch[aria-checked=false] .Switch_thumb {\n background: var(--dsw-alias-switch-thumb);\n}\n.Switch_switch[aria-checked=true] .Switch_thumb {\n transform: translateX(16px);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SegmentedControl.module.css */\n.SegmentedControl_control {\n position: relative;\n display: inline-grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: 2px;\n padding: 4px;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.SegmentedControl_indicator {\n position: absolute;\n top: 4px;\n left: 4px;\n width: calc((100% - 8px - 2px * (var(--dsh-segment-count) - 1)) / var(--dsh-segment-count));\n height: calc(100% - 8px);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--dsw-elevation-soft);\n transform: translateX(calc(var(--dsh-segment-index) * (100% + 2px)));\n transition: transform 160ms ease;\n pointer-events: none;\n}\n.SegmentedControl_tab {\n box-sizing: border-box;\n position: relative;\n z-index: 1;\n height: 28px;\n padding: 0 16px;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n font-size: 13px;\n line-height: 20px;\n font-weight: 500;\n white-space: nowrap;\n cursor: pointer;\n transition: color 120ms ease;\n}\n.SegmentedControl_tab:hover:not(:disabled),\n.SegmentedControl_tab[aria-selected=true] {\n color: var(--dsw-alias-label-primary);\n}\n.SegmentedControl_tab:disabled {\n cursor: default;\n opacity: 0.4;\n}\n.SegmentedControl_tab:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n@media (prefers-reduced-motion: reduce) {\n .SegmentedControl_indicator,\n .SegmentedControl_tab {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Checkbox.module.css */\n.Checkbox_checkbox {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n line-height: 20px;\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n.Checkbox_checkbox input {\n flex: 0 0 auto;\n width: 16px;\n height: 16px;\n margin: 0;\n accent-color: var(--dsw-alias-brand-primary);\n cursor: inherit;\n}\n.Checkbox_checkbox input:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.Checkbox_checkbox:has(input:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css */\n.Input_wrap {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 32px;\n padding: 0 8px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.Input_wrap:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n}\n.Input_icon {\n display: inline-flex;\n width: 16px;\n height: 16px;\n align-items: center;\n justify-content: center;\n color: var(--dsw-alias-label-tertiary);\n}\n.Input_input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-size: 14px;\n line-height: 22px;\n color: var(--dsw-alias-label-primary);\n}\n.Input_input::placeholder {\n color: var(--dsw-alias-label-dimmed);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css */\n.ShortcutKeys_keys {\n display: inline-flex;\n flex: none;\n align-items: center;\n gap: 3px;\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n line-height: 16px;\n white-space: nowrap;\n}\n.ShortcutKeys_key {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n}\n.ShortcutKeys_tooltip {\n color: inherit;\n font-size: 11px;\n line-height: 14px;\n gap: 2px;\n}\n.ShortcutKeys_tooltip .ShortcutKeys_key {\n min-width: 16px;\n height: 16px;\n padding: 0 2px;\n border-radius: 4px;\n border: 0;\n background: var(--dsw-alias-tooltip-key-bg);\n}\n.ShortcutKeys_separator {\n font: inherit;\n}\n.ShortcutKeys_joined {\n box-sizing: border-box;\n height: 16px;\n padding: 0 4px;\n border-radius: 4px;\n background: var(--dsw-alias-tooltip-key-bg);\n}\n.ShortcutKeys_joined .ShortcutKeys_key {\n min-width: 0;\n height: auto;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css */\n.MenuSurface_surface,\n.MenuSurface_backing {\n border-radius: var(--dsw-radius-lg);\n}\n.MenuSurface_compact {\n border-radius: var(--dsw-radius-md);\n}\n:where(.MenuSurface_surface) {\n position: relative;\n}\n.MenuSurface_surface {\n anchor-name: var(--dsh-menu-anchor);\n isolation: isolate;\n}\n.MenuSurface_material {\n position: absolute;\n inset: 0;\n z-index: -1;\n border-radius: inherit;\n background: var(--dsw-menu-surface-fill);\n backdrop-filter: var(--dsw-menu-backdrop-filter);\n pointer-events: none;\n}\n.MenuSurface_backing {\n display: none;\n}\nhtml[data-platform=darwin] .MenuSurface_backing {\n display: block;\n position: fixed;\n position-anchor: var(--dsh-menu-anchor);\n top: anchor(top);\n left: anchor(left);\n width: anchor-size(width, 0px);\n height: anchor-size(height, 0px);\n z-index: -1;\n background: var(--dsw-alias-bg-base);\n pointer-events: none;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Menu.module.css */\n.Menu_root {\n position: relative;\n display: inline-flex;\n}\n.Menu_list,\n.Menu_submenu {\n box-sizing: border-box;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 0;\n border: 0;\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l1);\n box-shadow: var(--dsw-elevation-prominent);\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}\n.Menu_list {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 100;\n min-width: 144px;\n max-width: 360px;\n}\n.Menu_portal {\n position: fixed;\n top: auto;\n left: auto;\n z-index: 1100;\n}\n.Menu_sideTop {\n top: auto;\n bottom: calc(100% + 4px);\n}\n.Menu_alignEnd {\n left: auto;\n right: 0;\n}\n.Menu_scrollable {\n max-height: calc(100vh - 12px - max(12px, var(--dsh-frame-overlay-top, 12px)));\n}\n.Menu_viewport {\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n.Menu_scrollable .Menu_viewport {\n overflow-y: auto;\n}\n.Menu_footer {\n flex: none;\n display: flex;\n flex-direction: column;\n margin-top: 3px;\n padding-top: 3px;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.Menu_itemWrap {\n position: relative;\n}\n.Menu_item {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n min-height: 34px;\n padding: 6px 8px;\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n line-height: 20px;\n color: var(--dsw-alias-label-primary);\n text-align: left;\n}\n.Menu_item:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Menu_item:focus-visible:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n outline: none;\n}\n.Menu_denseList .Menu_item {\n min-height: 30px;\n padding-block: 4px;\n}\n.Menu_denseList .Menu_label {\n padding-block: 3px;\n}\n.Menu_list.Menu_compactList,\n.Menu_submenu.Menu_compactList {\n min-width: 156px;\n padding: 4px;\n}\n.Menu_compactList .Menu_item {\n min-height: 24px;\n gap: 5px;\n padding: 2px 6px;\n border-radius: var(--dsw-radius-sm);\n font-size: 11px;\n line-height: 17px;\n}\n.Menu_compactList .Menu_itemIcon {\n width: 12px;\n height: 12px;\n}\n.Menu_compactList .Menu_separator {\n margin: 2px;\n}\n.Menu_compactList .Menu_label {\n padding: 3px 6px;\n font-size: 10px;\n line-height: 15px;\n}\n.Menu_item:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.Menu_itemIcon {\n display: inline-flex;\n flex: none;\n width: 14px;\n height: 14px;\n align-items: center;\n justify-content: center;\n color: var(--dsw-alias-menu-icon);\n}\n.Menu_itemIcon svg,\n.Menu_check {\n width: 14px;\n height: 14px;\n}\n.Menu_compactList .Menu_itemIcon svg,\n.Menu_compactList .Menu_check {\n width: 12px;\n height: 12px;\n}\n.Menu_itemLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Menu_shortcut {\n flex: none;\n margin-inline-start: auto;\n}\n.Menu_shortcut .Menu_shortcutKeys {\n color: var(--dsw-alias-label-caption);\n font-size: 11px;\n line-height: 16px;\n}\n.Menu_check {\n flex: none;\n color: var(--dsw-alias-label-primary);\n}\n.Menu_selected {\n background: transparent;\n}\n.Menu_selectedFill {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Menu_danger {\n color: var(--dsw-alias-state-error-primary);\n}\n.Menu_danger .Menu_itemIcon {\n color: var(--dsw-alias-state-error-primary);\n}\n.Menu_danger:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n}\n.Menu_danger:focus-visible:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n outline: none;\n}\n.Menu_label {\n padding: 6px 8px;\n font-size: 11px;\n line-height: 15px;\n color: var(--dsw-alias-label-tertiary);\n}\n.Menu_separator {\n height: 0.5px;\n margin: 3px 2px;\n background: var(--dsw-alias-border-l2);\n}\n.Menu_separator + .Menu_separator,\n.Menu_separator + .Menu_itemWrap > .Menu_separator:first-child,\n.Menu_itemWrap:first-child > .Menu_separator:first-child {\n display: none;\n}\n.Menu_submenu {\n position: absolute;\n top: auto;\n bottom: -4px;\n left: calc(100% + 10px);\n z-index: 101;\n min-width: 163px;\n}\n.Menu_submenu::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: -10px;\n width: 10px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuGroup.module.css */\n.MenuGroup_group {\n position: relative;\n}\n.MenuGroup_start {\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n opacity: 0;\n pointer-events: none;\n}\n.MenuGroup_group + .MenuGroup_group {\n margin-top: 3px;\n}\n.MenuGroup_heading {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: 4px 7px 2px;\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n line-height: 16px;\n font-weight: 500;\n}\n.MenuGroup_heading[data-stuck] {\n background: var(--dsw-alias-menu-group-header-fill);\n}\nhtml:not([data-platform=darwin]) .MenuGroup_heading {\n border-radius: var(--dsw-radius-md);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css */\n.Tooltip_bubble {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n position: fixed;\n z-index: 100;\n width: max-content;\n max-width: 50vw;\n padding: 3px 7px;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-tooltip-bg);\n color: var(--dsw-static-neutral-bluish-00);\n font-size: 13px;\n line-height: 20px;\n white-space: pre-line;\n overflow-wrap: break-word;\n pointer-events: none;\n animation: Tooltip_tooltip-in 150ms var(--ds-ease-in-out);\n}\n.Tooltip_bubble[data-portal] {\n z-index: 1100;\n}\n.Tooltip_bubble[data-pinned] {\n pointer-events: auto;\n}\n.Tooltip_label {\n min-width: 0;\n}\n.Tooltip_bubble[data-has-shortcut] {\n padding-inline-end: 5px;\n}\n.Tooltip_bubble[data-has-shortcut]:not(:has(.Tooltip_label)) {\n padding: 3px;\n}\n.Tooltip_bubble[data-side=right] {\n transform: translateY(-50%);\n}\n.Tooltip_bubble[data-side=bottom] {\n transform: translateX(-50%);\n}\n.Tooltip_bubble[data-side=top] {\n transform: translate(-50%, -100%);\n}\n.Tooltip_bubble[data-side=bottom][data-align=end] {\n transform: translateX(-100%);\n}\n.Tooltip_bubble[data-side=top][data-align=end] {\n transform: translate(-100%, -100%);\n}\n@keyframes Tooltip_tooltip-in {\n from {\n opacity: 0;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .Tooltip_bubble {\n animation: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css */\n.HoverCard_root {\n position: relative;\n display: block;\n}\n.HoverCard_card {\n --dsw-hovercard-bg: #2C2C2E;\n position: fixed;\n z-index: 100;\n box-sizing: border-box;\n width: 244px;\n padding: 12px 16px;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-hovercard-bg);\n box-shadow: var(--dsw-shadow-lv3);\n}\n.HoverCard_copyable {\n cursor: pointer;\n}\n.HoverCard_copyable:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.HoverCard_feedback {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.HoverCard_copied {\n color: #FFFFFF;\n font-size: 14px;\n line-height: 20px;\n text-align: center;\n}\n.HoverCard_status {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n}\n.HoverCard_preview {\n display: flex;\n flex-direction: column;\n padding: 0;\n overflow: hidden;\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n color: var(--dsw-alias-label-primary);\n box-shadow: var(--dsw-elevation-panel);\n opacity: 1;\n transition: opacity var(--dsh-hover-preview-fade) linear;\n}\n@starting-style {\n .HoverCard_preview {\n opacity: 0;\n }\n}\n.HoverCard_preview[data-closing] {\n opacity: 0;\n pointer-events: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .HoverCard_preview {\n transition: none;\n }\n}\n.HoverCard_inline {\n display: inline;\n}\n.HoverCard_media {\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n overflow: auto;\n padding: 8px;\n border: 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-specific-menu);\n backdrop-filter: var(--dsw-menu-backdrop-filter);\n box-shadow: var(--dsw-elevation-panel);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Modal.module.css */\n.Modal_root {\n pointer-events: auto;\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: max(24px, var(--dsh-frame-overlay-top, 24px)) 24px;\n}\n.Modal_mask {\n position: absolute;\n inset: var(--dsh-frame-chrome-top, 0px) 0 0;\n backdrop-filter: var(--dsw-mask-blur);\n}\n.Modal_mask::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: var(--dsw-alias-bg-mask-1);\n animation: Modal_modalEnter var(--ds-transition-duration) var(--ds-ease-in-out);\n}\n.Modal_dialog {\n box-sizing: border-box;\n position: relative;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: 20px;\n width: min(380px, 100%);\n padding: 0 0 24px;\n overflow: hidden;\n border: 0;\n border-radius: var(--dsw-radius-panel);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-elevation-prominent);\n animation: Modal_modalEnter var(--ds-transition-duration) var(--ds-ease-in-out);\n}\n@keyframes Modal_modalEnter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .Modal_mask::after,\n .Modal_dialog {\n animation: none;\n }\n}\n.Modal_dialog:focus {\n outline: none;\n}\n.Modal_content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.Modal_header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 22px 14px 12px 24px;\n}\n.Modal_title {\n margin: 0;\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.Modal_close {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n cursor: pointer;\n color: var(--dsw-alias-label-secondary);\n}\n.Modal_close:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Modal_description {\n margin: 0;\n padding: 0 24px;\n font-size: 14px;\n line-height: 22px;\n font-weight: 400;\n color: var(--dsw-alias-label-primary);\n}\n.Modal_body {\n display: flex;\n flex-direction: column;\n min-width: 0;\n margin-top: 20px;\n padding: 0 24px;\n}\n.Modal_footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 0 24px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/RiskConfirmation.module.css */\n.RiskConfirmation_confirmation {\n width: min(440px, 100%);\n max-height: 100%;\n overflow: hidden;\n}\n.RiskConfirmation_confirmationContent {\n min-height: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n@supports (height: 100dvh) {\n .RiskConfirmation_confirmation {\n max-height: calc(100dvh - 48px);\n }\n}\n.RiskConfirmation_warning {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n color: var(--dsw-alias-label-secondary);\n font-size: 14px;\n line-height: 22px;\n}\n.RiskConfirmation_warning p {\n margin: 0;\n}\n.RiskConfirmation_warningIcon {\n flex: none;\n margin-top: 2px;\n color: var(--dsw-alias-state-error-primary);\n}\n.RiskConfirmation_acknowledgement {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n margin-top: 20px;\n color: var(--dsw-alias-label-primary);\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n}\n.RiskConfirmation_acknowledgement input {\n flex: none;\n width: 16px;\n height: 16px;\n margin: 3px 0 0;\n accent-color: var(--dsw-alias-button-primary-fill);\n cursor: pointer;\n}\n.RiskConfirmation_acknowledgement input:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.RiskConfirmation_acknowledgement input:disabled {\n cursor: default;\n}\n.RiskConfirmation_modalAction {\n min-width: 72px;\n}\n.RiskConfirmation_confirmAction {\n min-width: 136px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ConnectionIndicator.module.css */\n.ConnectionIndicator_indicator {\n flex: none;\n display: inline-grid;\n grid-template-columns: 14px max-content;\n align-items: center;\n column-gap: 4px;\n height: 28px;\n padding: 0 8px;\n box-sizing: border-box;\n border: 1px solid transparent;\n border-radius: var(--dsw-radius-sm);\n font-family: inherit;\n font-size: 12px;\n font-weight: 500;\n line-height: 18px;\n white-space: nowrap;\n transition:\n background-color 160ms ease-out,\n color 160ms ease-out,\n border-color 160ms ease-out,\n opacity 150ms ease-out;\n animation: ConnectionIndicator_indicator-enter 150ms ease-out;\n}\n.ConnectionIndicator_leaving {\n opacity: 0;\n}\n@keyframes ConnectionIndicator_indicator-enter {\n from {\n opacity: 0;\n }\n}\n.ConnectionIndicator_warning {\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-state-warn-label);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-label) 20%, transparent);\n cursor: pointer;\n}\n.ConnectionIndicator_warning:hover {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-tertiary), var(--dsw-alias-state-warn-primary) 6%);\n}\n.ConnectionIndicator_warning:active {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-tertiary), var(--dsw-alias-state-warn-primary) 10%);\n}\n.ConnectionIndicator_warning:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.ConnectionIndicator_success {\n background: var(--dsw-alias-state-success-tertiary);\n color: var(--dsw-alias-state-success-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-success-primary) 20%, transparent);\n}\n.ConnectionIndicator_icon {\n display: grid;\n place-items: center;\n width: 14px;\n height: 14px;\n}\n.ConnectionIndicator_icon > svg {\n color: inherit;\n}\n.ConnectionIndicator_label {\n text-align: left;\n}\n.ConnectionIndicator_dots {\n display: inline-block;\n width: 1em;\n text-align: left;\n}\n.ConnectionIndicator_secondDot {\n animation: ConnectionIndicator_reveal-second-dot 1.5s step-end infinite;\n}\n.ConnectionIndicator_thirdDot {\n animation: ConnectionIndicator_reveal-third-dot 1.5s step-end infinite;\n}\n@keyframes ConnectionIndicator_reveal-second-dot {\n 0%, 33.32% {\n opacity: 0;\n }\n 33.33%, 100% {\n opacity: 1;\n }\n}\n@keyframes ConnectionIndicator_reveal-third-dot {\n 0%, 66.65% {\n opacity: 0;\n }\n 66.66%, 100% {\n opacity: 1;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .ConnectionIndicator_indicator,\n .ConnectionIndicator_secondDot,\n .ConnectionIndicator_thirdDot {\n animation: none;\n }\n .ConnectionIndicator_indicator {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/FileTypeIcon.module.css */\n.FileTypeIcon_icon {\n --dsh-file-type-violet: rgb(139, 118, 246);\n color: var(--dsh-file-type-icon-color, var(--dsh-file-type-default-color));\n}\n.FileTypeIcon_code {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-500);\n}\n.FileTypeIcon_excel {\n --dsh-file-type-default-color: var(--dsw-static-green-500);\n}\n.FileTypeIcon_folder {\n --dsh-file-type-default-color: var(--dsw-static-amber-400);\n}\n.FileTypeIcon_html {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-500);\n}\n.FileTypeIcon_image {\n --dsh-file-type-default-color: var(--dsh-file-type-violet);\n}\n.FileTypeIcon_markdown {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-500);\n}\n.FileTypeIcon_other {\n --dsh-file-type-default-color: var(--dsw-static-neutral-bluish-300);\n}\n.FileTypeIcon_pdf {\n --dsh-file-type-default-color: var(--dsw-static-red-600);\n}\n.FileTypeIcon_ppt {\n --dsh-file-type-default-color: var(--dsw-static-amber-500);\n}\n.FileTypeIcon_video {\n --dsh-file-type-default-color: var(--dsh-file-type-violet);\n}\n.FileTypeIcon_word {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-450);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/user-text.module.css */\n.user_text_plainRun {\n font-size: inherit;\n line-height: inherit;\n}\n.user_text_refChip {\n display: inline;\n max-width: 100%;\n margin: 0 2px;\n color: var(--dsw-alias-state-business-primary);\n font-weight: 500;\n white-space: inherit;\n overflow-wrap: anywhere;\n text-align: inherit;\n}\n.user_text_slashChip {\n font-family: var(--dsw-font-markdown-code-font-family);\n}\n.user_text_refIcon {\n width: 1em;\n height: 1em;\n margin-right: 4px;\n vertical-align: -0.125em;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css */\n.MarkdownText_markdown {\n min-width: 0;\n overflow-wrap: anywhere;\n font: var(--dsw-font-markdown-base);\n color: var(--dsw-alias-label-primary);\n}\n.MarkdownText_markdown strong {\n font-weight: 600;\n}\n.MarkdownText_markdown h1 {\n font: var(--dsw-font-markdown-h1);\n margin: 32px 0 16px;\n}\n.MarkdownText_markdown h2 {\n font: var(--dsw-font-markdown-h2);\n margin: 32px 0 16px;\n}\n.MarkdownText_markdown h3 {\n font: var(--dsw-font-markdown-h3);\n margin: 32px 0 16px;\n}\n.MarkdownText_markdown h4 {\n font: var(--dsw-font-markdown-h4);\n margin: 16px 0;\n}\n.MarkdownText_markdown :where(h5, h6) {\n font: var(--dsw-font-markdown-base-strong);\n margin: 16px 0;\n}\n.MarkdownText_markdown :where(h1, h2, h3, h4, h5, h6) strong {\n font-weight: inherit;\n}\n.MarkdownText_markdown p {\n margin: 16px 0;\n}\n.MarkdownText_markdown :where(h4, h5, h6) + :where(ul, ol) {\n margin-top: 8px;\n}\n.MarkdownText_markdown :where(h4, h5, h6):has(+ :where(ul, ol)) {\n margin-bottom: 8px;\n}\n.MarkdownText_markdown a,\n.MarkdownText_markdown .MarkdownText_fileLink {\n color: var(--dsw-alias-link);\n font-weight: 500;\n transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out);\n position: relative;\n text-decoration: none;\n border-left: 3px solid rgb(255 255 255 / 0);\n border-right: 3px solid rgb(255 255 255 / 0);\n border-top: 2px solid rgb(255 255 255 / 0);\n border-bottom: 2px solid rgb(255 255 255 / 0);\n margin-left: -3px;\n margin-right: -3px;\n}\n.MarkdownText_markdown a:hover,\n.MarkdownText_markdown a:focus {\n outline: none;\n text-decoration: underline dotted var(--dsw-alias-link);\n text-underline-offset: 3px;\n}\n.MarkdownText_markdown a:focus-visible,\n.MarkdownText_fileMention:focus-visible {\n box-shadow: 0 0 0 2px var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n}\n.MarkdownText_linkIcon {\n flex: none;\n width: 1.1em;\n height: 1.1em;\n vertical-align: -0.25em;\n margin-right: 5px;\n}\n.MarkdownText_markdown :where(ul, ol) {\n margin: 16px 0;\n padding-left: 18px;\n}\n.MarkdownText_markdown li:not(:first-child) {\n margin-top: 6px;\n}\n.MarkdownText_markdown li > :where(ul, ol) {\n margin-top: 4px;\n}\n.MarkdownText_markdown li::marker {\n line-height: 24px;\n color: var(--dsw-alias-label-secondary);\n}\n.MarkdownText_markdown :where(ul, ol) ol {\n list-style-position: inside;\n padding-left: 0;\n}\n.MarkdownText_markdown :where(ul, ol) ol li p {\n display: inline;\n}\n.MarkdownText_markdown li > p {\n margin: 8px 0;\n}\n.MarkdownText_markdown li > *:first-child {\n margin-top: 0;\n}\n.MarkdownText_markdown li > *:last-child:not(.md-code-block) {\n margin-bottom: 0;\n}\n.MarkdownText_markdown hr {\n display: block;\n border: none;\n height: 0.5px;\n margin: 32px 0;\n background: var(--dsw-alias-border-l2);\n}\n.MarkdownText_markdown blockquote {\n border-left: 2px solid var(--dsw-alias-label-caption);\n margin: 16px 0 0;\n padding-left: 14px;\n}\n.MarkdownText_markdown pre {\n margin: 16px 0;\n font-family: var(--ds-font-family-code);\n overflow: auto;\n}\n.MarkdownText_markdown :not(pre) > code {\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n font: var(--dsw-font-markdown-code);\n font-family: var(--ds-font-family-code);\n font-size: 0.875em !important;\n background-color: var(--dsw-alias-markdown-inline-code);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n padding: 0 5px;\n}\n.MarkdownText_markdown :where(h1, h2, h3, h4, h5, h6) code {\n font: inherit;\n font-family: var(--ds-font-family-code);\n}\n.MarkdownText_markdown .katex-display {\n max-width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n}\n.MarkdownText_markdown input[type=checkbox] {\n margin: 0 8px 0 0;\n accent-color: var(--dsw-alias-label-secondary);\n}\n.MarkdownText_tableScroll {\n max-width: 100%;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n}\n.MarkdownText_tableScroll.md-table-wide {\n overflow-x: hidden;\n padding-bottom: var(--dsh-scrollbar-width, 5px);\n}\n.MarkdownText_tableScroll.md-table-wide:hover,\n.MarkdownText_tableScroll.md-table-wide:focus-visible {\n overflow-x: scroll;\n padding-bottom: 0;\n}\n.MarkdownText_tableScroll:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n}\n.MarkdownText_tableScroll table {\n border-collapse: collapse;\n width: max-content;\n max-width: max-content;\n}\n.MarkdownText_tableFill table {\n width: 100%;\n max-width: none;\n}\n.MarkdownText_tableScroll th {\n text-align: start;\n padding: 10px 16px;\n border-bottom: 0.5px solid var(--dsw-alias-border-l3);\n border-top: none;\n font: var(--dsw-font-markdown-table-head);\n max-width: 320px;\n max-width: min(30vw, 320px);\n min-width: 100px;\n}\n.MarkdownText_tableScroll td {\n padding: 10px 16px;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n font: var(--dsw-font-markdown-table);\n max-width: 320px;\n max-width: min(30vw, 320px);\n min-width: 100px;\n}\n.MarkdownText_tableScroll th:first-child,\n.MarkdownText_tableScroll td:first-child {\n padding-left: 0;\n}\n.MarkdownText_tableScroll td:last-child {\n padding-right: 0;\n}\n.MarkdownText_tableScroll table code {\n font-size: 11px;\n}\n.MarkdownText_markdown > *:first-child,\n.MarkdownText_markdown p:first-child {\n margin-top: 0 !important;\n}\n.MarkdownText_markdown > *:last-child,\n.MarkdownText_markdown p:last-child {\n margin-bottom: 0 !important;\n}\n.MarkdownText_imageAlt {\n color: var(--dsw-alias-label-tertiary);\n font-style: italic;\n}\n.MarkdownText_image {\n display: block;\n width: auto;\n max-width: 100%;\n height: auto;\n margin: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n object-fit: contain;\n}\n.MarkdownText_fileMention {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n font: inherit;\n font-weight: 500;\n color: var(--dsw-alias-link);\n text-decoration: none;\n cursor: pointer;\n}\n.MarkdownText_fileLink {\n max-width: 100%;\n text-align: inherit;\n}\n.MarkdownText_fileMention:hover,\n.MarkdownText_fileMention:focus {\n outline: none;\n text-decoration: underline dotted var(--dsw-alias-link);\n text-underline-offset: 3px;\n}\n.MarkdownText_compact {\n max-width: 100%;\n font-size: var(--dsh-content-font-size-secondary, 13px);\n line-height: calc(20px + var(--dsh-content-font-delta-secondary, 0px));\n color: var(--dsw-alias-label-tertiary);\n}\n.MarkdownText_compact :is(h1, h2, h3, h4, h5, h6) {\n margin: 8px 0 4px;\n font: inherit;\n font-weight: 600;\n color: inherit;\n}\n.MarkdownText_compact :is(p, ul, ol, blockquote) {\n margin: 4px 0;\n}\n.MarkdownText_compact li:not(:first-child) {\n margin-top: 2px;\n}\n.MarkdownText_compact li > p {\n margin: 4px 0;\n}\n.MarkdownText_compact li::marker {\n line-height: inherit;\n color: inherit;\n}\n.MarkdownText_compact blockquote {\n padding-left: 8px;\n}\n.MarkdownText_compact hr {\n margin: 8px 0;\n}\n.MarkdownText_compact a,\n.MarkdownText_compact .MarkdownText_fileMention {\n font-weight: inherit;\n color: inherit;\n text-decoration: underline dotted;\n}\n.MarkdownText_compact a:hover,\n.MarkdownText_compact a:focus,\n.MarkdownText_compact .MarkdownText_fileMention:hover,\n.MarkdownText_compact .MarkdownText_fileMention:focus {\n text-decoration-color: currentColor;\n}\n.MarkdownText_compact :not(pre) > code {\n display: inline;\n font: inherit;\n font-family: var(--ds-font-family-code);\n font-size: 1em !important;\n border-radius: var(--dsw-radius-xs);\n padding: 0 3px;\n box-decoration-break: clone;\n}\n.MarkdownText_markdown.MarkdownText_compact .md-code-block {\n margin: 4px 0;\n color: inherit;\n}\n.MarkdownText_compact .md-code-block > :has(> [data-code-block-banner]) {\n position: static;\n z-index: auto;\n}\n.MarkdownText_compact pre,\n.MarkdownText_compact pre :is(code, span) {\n color: inherit !important;\n}\n.MarkdownText_markdown.MarkdownText_compact .MarkdownText_tableScroll {\n width: 100%;\n max-width: 100%;\n margin: 4px 0;\n padding-left: 0;\n}\n.MarkdownText_markdown.MarkdownText_compact .MarkdownText_tableScroll > table {\n z-index: auto;\n}\n.MarkdownText_compact :is(th, td) {\n padding: 4px 8px;\n font: inherit;\n}\n.MarkdownText_compact th {\n font-weight: 600;\n}\n.MarkdownText_compact .katex {\n font-size: 1em;\n}\n.MarkdownText_compact :is(p, h1, h2, h3, h4, h5, h6, ul, ol):has(.katex) {\n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: 1px;\n}\n.MarkdownText_compact .katex-display {\n margin: 4px 0;\n}\n.MarkdownText_imageButton {\n display: inline-block;\n max-width: 100%;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n vertical-align: middle;\n cursor: zoom-in;\n}\n.MarkdownText_imageButton .MarkdownText_image {\n max-width: min(100%, 640px);\n max-height: 360px;\n}\n.MarkdownText_imageButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 3px;\n}\n.MarkdownText_previewName {\n display: block;\n margin-top: 8px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n line-height: 18px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Toast.module.css */\n.Toast_toast {\n position: fixed;\n top: 40px;\n left: 50%;\n z-index: 1100;\n pointer-events: none;\n display: flex;\n align-items: center;\n gap: 10px;\n width: max-content;\n max-width: min(640px, calc(100vw - 48px));\n padding: 12px 16px;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-toast-bg);\n color: var(--dsw-alias-toast-label);\n font-size: 14px;\n line-height: 22px;\n box-shadow: var(--dsw-shadow-lv3);\n transform: translateX(-50%);\n animation: Toast_dsh-toast-in 160ms ease-out, Toast_dsh-toast-fade 1000ms ease var(--dsh-toast-hold, 3000ms) forwards;\n}\n.Toast_icon {\n display: grid;\n place-items: center;\n flex: none;\n color: var(--dsw-alias-state-warn-label);\n}\n.Toast_icon.Toast_success {\n color: var(--dsw-alias-state-success-primary);\n}\n.Toast_text {\n min-width: 0;\n}\n.Toast_action {\n display: inline;\n padding: 0;\n border: 0;\n background: none;\n color: var(--dsw-static-deepseek-400);\n font: inherit;\n cursor: pointer;\n margin-inline: 3px;\n pointer-events: auto;\n}\n.Toast_action:hover {\n opacity: 0.8;\n}\n@keyframes Toast_dsh-toast-in {\n from {\n opacity: 0;\n transform: translate(-50%, -6px);\n }\n to {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n}\n@keyframes Toast_dsh-toast-fade {\n to {\n opacity: 0;\n visibility: hidden;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .Toast_toast {\n animation: Toast_dsh-toast-fade 1000ms ease var(--dsh-toast-hold, 3000ms) forwards;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/settings-form/SettingsForm.module.css */\n.SettingsForm_form {\n display: flex;\n flex-direction: column;\n}\n.SettingsForm_readOnly,\n.SettingsForm_unavailable {\n margin: 0 0 12px;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n.SettingsForm_footer {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n.SettingsForm_failed {\n flex: 1;\n min-width: 0;\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-error);\n}\n.SettingsForm_save {\n appearance: none;\n border: 1px solid transparent;\n border-radius: var(--dsw-radius-md);\n padding: 5px 14px;\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-layer-3);\n}\n.SettingsForm_save:disabled {\n opacity: 0.4;\n cursor: default;\n}\n.SettingsForm_save:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/settings-form/fields.module.css */\n.fields_field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px 0;\n}\n.fields_field + .fields_field {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.fields_head {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.fields_label {\n flex: 1;\n min-width: 0;\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n.fields_labelGroup {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n}\n.fields_labelGroup > .fields_label {\n flex: 0 1 auto;\n}\n.fields_helpButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n.fields_helpButton:hover,\n.fields_helpButton[aria-expanded=true] {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-secondary);\n}\n.fields_helpButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n.fields_help {\n padding: 10px 0 0;\n font-size: 12px;\n line-height: 1.6;\n color: var(--dsw-alias-label-secondary);\n}\n.fields_help > p {\n margin: 0;\n}\n.fields_help > p + p {\n margin-top: 8px;\n}\n.fields_badges {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.fields_reset {\n border: none;\n background: none;\n padding: 0;\n font: inherit;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n.fields_reset:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.fields_reset:disabled {\n cursor: default;\n}\n.fields_input {\n height: 34px;\n padding: 0 12px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n.fields_input:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n}\n.fields_input:disabled {\n color: var(--dsw-alias-label-tertiary);\n cursor: default;\n}\n.fields_input[aria-invalid=true] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n.fields_invalid {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-state-error-primary);\n}\n.fields_hint {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/JsonTree.module.css */\n.JsonTree_root {\n --json-tree-property: #881391;\n --json-tree-string: #c41a16;\n --json-tree-number: #1c00cf;\n --json-tree-keyword: #1c00cf;\n --json-tree-punctuation: #202124;\n --json-tree-icon: #5f6368;\n --json-tree-hover: rgb(60 64 67 / 4%);\n min-width: 0;\n overflow: auto;\n position: relative;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-layer-1);\n font: 12px/16px var(--ds-font-family-code);\n overscroll-behavior-x: contain;\n overscroll-behavior-y: auto;\n}\nbody[data-ds-dark-theme] .JsonTree_root {\n --json-tree-property: #5db0d7;\n --json-tree-string: #f28b82;\n --json-tree-number: #99c8ff;\n --json-tree-keyword: #99c8ff;\n --json-tree-punctuation: #e8eaed;\n --json-tree-icon: #9aa0a6;\n --json-tree-hover: rgb(232 234 237 / 5%);\n}\n.JsonTree_container {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n margin: 0;\n padding: 6px 8px 8px 8px;\n white-space: pre;\n}\n.JsonTree_expandedTopLevel {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n padding: 6px 8px 8px 14px;\n}\n.JsonTree_expandedTopLevel:has(> .JsonTree_topLevelBracket[data-json-root-row]:hover),\n.JsonTree_expandedTopLevel:has(> .JsonTree_topLevelBracket[data-json-root-row][data-json-copy-active]) {\n background: var(--json-tree-hover);\n}\n.JsonTree_expandedTopLevelContainer {\n padding: 0;\n}\n.JsonTree_row.JsonTree_topLevelBracket {\n margin-left: 0;\n padding-left: 0;\n}\n.JsonTree_children {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.JsonTree_row {\n position: relative;\n box-sizing: border-box;\n min-width: 0;\n min-height: 16px;\n margin: 0;\n padding: 0 0 0 10px;\n list-style: none;\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n.JsonTree_row:not(.JsonTree_topLevelBracket):hover:not(:has(.JsonTree_row:hover))::after,\n.JsonTree_row:not(.JsonTree_topLevelBracket)[data-json-copy-active]::after,\n.JsonTree_row:has(> .JsonTree_expander:focus-visible)::after {\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n left: 0;\n height: var(--json-tree-row-height, 16px);\n background: var(--json-tree-hover);\n content: \"\";\n pointer-events: none;\n}\n.JsonTree_row > span:not(.JsonTree_expander, .JsonTree_copySlot) {\n position: relative;\n z-index: 1;\n}\n.JsonTree_label {\n margin-right: 3px;\n color: var(--json-tree-property);\n font-weight: 400;\n}\n.JsonTree_clickableLabel {\n cursor: pointer;\n}\n.JsonTree_stringValue {\n color: var(--json-tree-string);\n}\n.JsonTree_stringField {\n position: relative;\n z-index: 1;\n display: flow-root;\n}\n.JsonTree_stringText {\n display: block;\n max-height: calc(var(--json-tree-collapsed-lines) * 16px);\n padding-left: 12px;\n overflow: hidden;\n text-indent: -12px;\n word-break: break-all;\n}\n.JsonTree_stringRaw {\n margin: 4px 0 0 12px;\n overflow: auto;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n overflow-wrap: normal;\n white-space: pre;\n word-break: normal;\n}\n.JsonTree_stringActions {\n position: absolute;\n top: 1px;\n right: 4px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 4px;\n width: fit-content;\n height: 16px;\n}\n.JsonTree_stringRaw[data-wrap=true] {\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n word-break: break-all;\n}\n.JsonTree_stringActions > .JsonTree_copySlot {\n opacity: 1;\n pointer-events: auto;\n}\n.JsonTree_stringToggleSlot {\n display: flex;\n float: right;\n align-items: flex-end;\n height: calc(var(--json-tree-collapsed-lines) * 16px);\n margin-left: 2px;\n shape-outside: inset(calc((var(--json-tree-collapsed-lines) - 1) * 16px) 0 0);\n pointer-events: none;\n}\n.JsonTree_stringToggle {\n display: inline-flex;\n align-items: baseline;\n gap: 2px;\n margin: 0;\n padding: 0;\n border: 0;\n color: var(--dsw-alias-label-secondary);\n background: transparent;\n font: inherit;\n text-indent: 0;\n white-space: nowrap;\n cursor: pointer;\n pointer-events: auto;\n}\n.JsonTree_stringToggle:hover {\n color: var(--dsw-alias-label-primary);\n}\n.JsonTree_stringToggle:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n.JsonTree_row:has(> .JsonTree_stringField) {\n --json-tree-row-height: 100%;\n}\n.JsonTree_summary {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.JsonTree_numberValue {\n color: var(--json-tree-number);\n}\n.JsonTree_keywordValue {\n color: var(--json-tree-keyword);\n}\n.JsonTree_otherValue {\n color: var(--dsw-alias-label-secondary);\n}\n.JsonTree_punctuation {\n color: var(--json-tree-punctuation);\n}\n.JsonTree_preview {\n color: var(--json-tree-punctuation);\n}\n.JsonTree_previewProperty {\n color: var(--json-tree-punctuation);\n}\n.JsonTree_previewEllipsis {\n color: var(--dsw-alias-label-tertiary);\n}\n.JsonTree_copySlot {\n display: inline-flex;\n width: 20px;\n height: 16px;\n opacity: 0;\n pointer-events: none;\n}\n.JsonTree_row > .JsonTree_copySlot {\n position: absolute;\n z-index: 2;\n top: 0;\n right: 0;\n}\n.JsonTree_row:has(> .JsonTree_stringField) > .JsonTree_copySlot {\n top: auto;\n bottom: 0;\n}\n.JsonTree_row:has(> .JsonTree_copySlot) > .JsonTree_stringField .JsonTree_stringToggleSlot {\n padding-right: 24px;\n}\n.JsonTree_row:hover:not(:has(.JsonTree_row:hover)) > .JsonTree_copySlot,\n.JsonTree_row[data-json-copy-active] > .JsonTree_copySlot,\n.JsonTree_copySlot:focus-within {\n opacity: 1;\n pointer-events: auto;\n}\n.JsonTree_actionButton {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 16px;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-secondary);\n background: transparent;\n cursor: pointer;\n}\n.JsonTree_actionButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n.JsonTree_actionButton[aria-pressed=true] {\n color: var(--dsw-alias-state-business-primary);\n}\n.JsonTree_actionButton:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -1px;\n}\n.JsonTree_actionButton[data-state=failed] {\n color: var(--dsw-alias-state-error-primary);\n}\n.JsonTree_expander {\n position: absolute;\n z-index: 2;\n top: 0;\n left: 0;\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n width: 8px;\n height: 16px;\n margin: 0;\n color: var(--json-tree-icon);\n cursor: pointer;\n user-select: none;\n}\n.JsonTree_expander::before {\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 6px solid currentColor;\n content: \"\";\n transform: scale(0.75);\n transform-origin: 33.333% center;\n}\n.JsonTree_collapseIcon::before {\n transform: rotate(90deg) scale(0.75);\n}\n.JsonTree_expander:hover {\n color: var(--dsw-alias-label-primary);\n}\n.JsonTree_expander:focus-visible {\n outline: none;\n}\n.JsonTree_collapsedContent {\n margin: 0 1px;\n color: var(--json-tree-punctuation);\n cursor: pointer;\n}\n.JsonTree_collapsedContent::after {\n content: \"\\2026\";\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TerminalBlock.module.css */\n.TerminalBlock_block {\n --dsl-terminal-radius: var(--dsw-radius-lg);\n --dsl-terminal-line-height: 22px;\n --dsl-terminal-font: var(--dsw-font-markdown-code-block);\n --dsl-terminal-gutter: 30px;\n position: relative;\n margin: 16px 0;\n padding-left: var(--dsl-terminal-gutter);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsl-terminal-radius);\n overflow: hidden;\n}\n.TerminalBlock_header {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-left: calc(-1 * var(--dsl-terminal-gutter));\n padding: 9px 14px 9px var(--dsl-terminal-gutter);\n border-top-left-radius: var(--dsl-terminal-radius);\n border-top-right-radius: var(--dsl-terminal-radius);\n max-height: 150px;\n overflow-y: auto;\n}\n.TerminalBlock_header::-webkit-scrollbar-thumb {\n border: 2px solid transparent;\n background-clip: padding-box;\n border-radius: var(--dsw-radius-sm);\n}\n.TerminalBlock_header::-webkit-scrollbar-track {\n margin: 6px;\n}\n.TerminalBlock_block[data-body] .TerminalBlock_header {\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n.TerminalBlock_prompt {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n font: var(--dsl-terminal-font);\n}\n.TerminalBlock_promptLine {\n position: relative;\n display: flex;\n align-items: baseline;\n gap: 8px;\n min-width: 0;\n line-height: var(--dsl-terminal-line-height);\n}\n.TerminalBlock_runState {\n position: absolute;\n left: calc(-1 * var(--dsl-terminal-gutter) + 8px);\n top: 50%;\n transform: translateY(-50%);\n}\n.TerminalBlock_runStateLabel {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.TerminalBlock_cwd {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n.TerminalBlock_command {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: var(--dsl-terminal-command-whitespace, pre);\n overflow-wrap: anywhere;\n}\n.TerminalBlock_status {\n flex: none;\n position: sticky;\n top: 0;\n height: var(--dsl-terminal-line-height);\n color: var(--dsw-alias-state-error-primary);\n}\n.TerminalBlock_copyButton {\n flex: none;\n position: sticky;\n top: 0;\n background-color: var(--dsw-alias-markdown-code-block);\n border: none;\n padding: 0;\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-xs-13);\n line-height: var(--dsl-terminal-line-height);\n}\n.TerminalBlock_output {\n max-height: var(--dsl-terminal-output-max-height, none);\n padding: 12px 14px 12px 0;\n font: var(--dsl-terminal-font);\n overflow-x: auto;\n overflow-y: auto;\n}\n.TerminalBlock_output::-webkit-scrollbar-thumb {\n border: 2px solid transparent;\n background-clip: padding-box;\n border-radius: var(--dsw-radius-sm);\n}\n.TerminalBlock_output::-webkit-scrollbar-track {\n margin: 6px;\n}\n.TerminalBlock_line {\n min-height: var(--dsl-terminal-line-height);\n white-space: var(--dsl-terminal-line-whitespace, pre);\n overflow-wrap: anywhere;\n}\n.TerminalBlock_expand {\n display: block;\n width: 100%;\n padding: 0;\n border: none;\n background-color: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.TerminalBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n.TerminalBlock_empty {\n padding: 12px 14px 12px 0;\n font: var(--dsl-terminal-font);\n color: var(--dsw-alias-label-tertiary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/CodeCard.module.css */\n.CodeCard_card {\n position: relative;\n margin: 16px 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsw-radius-lg);\n font: var(--dsw-font-markdown-code-block);\n}\n.CodeCard_header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 10px 18px 8px 22px;\n background: var(--dsl-code-block-background, var(--dsw-alias-markdown-code-block));\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n color: var(--dsw-alias-label-secondary);\n font: 11px/18px var(--dsw-font-family);\n}\n.CodeCard_heading {\n display: flex;\n align-items: baseline;\n gap: 12px;\n min-width: 0;\n}\n.CodeCard_language {\n color: var(--dsw-alias-label-tertiary);\n flex: none;\n font-family: var(--ds-font-family-code);\n}\n.CodeCard_title {\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.CodeCard_actions {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: none;\n}\n.CodeCard_status {\n margin-right: 8px;\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n.CodeCard_action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n background: transparent;\n cursor: pointer;\n}\n.CodeCard_action:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.CodeCard_action:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.CodeCard_body {\n padding: 6px 22px 20px;\n font: var(--dsw-font-markdown-code-block);\n overflow-x: auto;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ReadBlock.module.css */\n.ReadBlock_line {\n display: flex;\n min-height: 1lh;\n white-space: pre;\n}\n.ReadBlock_gutter {\n flex: none;\n width: var(--dsl-read-gutter);\n margin-right: 12px;\n text-align: right;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n}\n.ReadBlock_content {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n}\n.ReadBlock_block[data-code-wrap=true] .ReadBlock_line {\n white-space: pre-wrap;\n}\n.ReadBlock_block[data-code-wrap=true] .ReadBlock_content {\n overflow-wrap: anywhere;\n}\n.ReadBlock_expand {\n display: block;\n width: 100%;\n padding: 0 0 0 calc(var(--dsl-read-gutter) + 12px);\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.ReadBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css */\n.DiffBlock_block {\n overflow: hidden;\n}\n.DiffBlock_body {\n display: grid;\n grid-template-columns: minmax(max-content, 1fr);\n padding: 6px 0 20px;\n font: var(--dsw-font-markdown-code-block);\n overflow-x: auto;\n}\n.DiffBlock_line {\n box-sizing: border-box;\n min-height: 1lh;\n padding: 0 22px;\n white-space: pre;\n}\n.DiffBlock_block[data-code-wrap=true] .DiffBlock_body {\n grid-template-columns: minmax(0, 1fr);\n}\n.DiffBlock_block[data-code-wrap=true] .DiffBlock_line {\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.DiffBlock_path {\n color: var(--dsw-alias-label-secondary);\n font-weight: 500;\n}\n.DiffBlock_gap {\n color: var(--dsw-alias-label-tertiary);\n}\n.DiffBlock_del::before {\n content: \"- \";\n}\n.DiffBlock_del {\n color: var(--dsw-alias-state-error-primary);\n background: var(--dsw-alias-code-diff-deleted);\n box-shadow: inset 3px 0 0 var(--dsw-alias-state-error-primary);\n}\n.DiffBlock_add::before {\n content: \"+ \";\n}\n.DiffBlock_add {\n color: var(--dsw-alias-state-success-primary);\n background: var(--dsw-alias-code-diff-added);\n box-shadow: inset 3px 0 0 var(--dsw-alias-state-success-primary);\n}\n.DiffBlock_context {\n color: var(--dsw-alias-label-secondary);\n}\n.DiffBlock_context::before {\n content: \" \";\n}\n.DiffBlock_expand {\n display: block;\n width: 100%;\n padding: 0 22px;\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.DiffBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SearchBlock.module.css */\n.SearchBlock_block {\n --dsl-search-radius: var(--dsw-radius-lg);\n --dsl-search-line-height: 22px;\n position: relative;\n margin: 16px 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsl-search-radius);\n}\n.SearchBlock_header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 9px 14px;\n background: var(--dsw-alias-markdown-code-block-banner);\n border-top-left-radius: var(--dsl-search-radius);\n border-top-right-radius: var(--dsl-search-radius);\n}\n.SearchBlock_summary {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n.SearchBlock_copyButton {\n flex: none;\n background-color: transparent;\n border: none;\n padding: 0;\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-xs-13);\n}\n.SearchBlock_body {\n padding: 8px 14px 12px 0;\n font: var(--dsw-font-markdown-code-block);\n overflow-x: auto;\n overflow-y: hidden;\n}\n.SearchBlock_line {\n min-height: var(--dsl-search-line-height);\n padding-left: 14px;\n white-space: pre;\n}\n.SearchBlock_lineNumber {\n color: var(--dsw-alias-label-tertiary);\n}\n.SearchBlock_fileHeader {\n display: flex;\n align-items: baseline;\n gap: 8px;\n width: 100%;\n min-height: var(--dsl-search-line-height);\n padding: 0 14px;\n border: none;\n background-color: transparent;\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.SearchBlock_filePath {\n min-width: 0;\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n white-space: pre;\n}\n.SearchBlock_fileCount {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n.SearchBlock_expand {\n display: block;\n width: 100%;\n padding: 0 14px;\n border: none;\n background-color: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.SearchBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n.SearchBlock_empty {\n padding: 12px 14px;\n font: var(--dsw-font-markdown-code-block);\n color: var(--dsw-alias-label-tertiary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css */\n.CodeBlock_block {\n --dsl-code-block-banner-background-color: var(--dsw-alias-markdown-code-block-banner);\n --dsl-code-block-border-radius: var(--dsw-radius-lg);\n --dsl-code-block-banner-font: 11px/18px var(--dsw-font-family);\n --dsl-code-block-content-font: var(--dsw-font-markdown-code-block);\n --dsl-code-block-background: var(--dsw-alias-markdown-code-block);\n position: relative;\n margin: 16px 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsl-code-block-background);\n border-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_block:not(:last-child) {\n margin-bottom: 11px;\n}\n.CodeBlock_bannerWrap {\n position: sticky;\n top: 0;\n z-index: 6;\n background-color: var(--dsw-alias-bg-base);\n border-top-left-radius: var(--dsl-code-block-border-radius);\n border-top-right-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_banner {\n background: var(--dsl-code-block-banner-background-color);\n padding: 9px 14px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n font: var(--dsl-code-block-banner-font);\n border-top-left-radius: var(--dsl-code-block-border-radius);\n border-top-right-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_infostring {\n color: var(--dsw-alias-label-primary);\n font-family: var(--ds-font-family-code);\n font-size: 11px;\n line-height: 18px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.CodeBlock_action {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.CodeBlock_copyButton {\n background-color: rgb(255 255 255 / 0);\n border: none;\n padding: 0;\n margin: 0;\n color: inherit;\n cursor: pointer;\n font: inherit;\n}\n.CodeBlock_content {\n display: contents;\n}\n.CodeBlock_block :where(pre) {\n font: var(--dsl-code-block-content-font);\n padding: 16px;\n margin: 0 !important;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-all;\n background: var(--dsl-code-block-background);\n border-bottom-left-radius: var(--dsl-code-block-border-radius);\n border-bottom-right-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_block :where(pre.CodeBlock_shiki) {\n background: var(--dsl-code-block-background) !important;\n}\n.CodeBlock_block :where(pre) code {\n font: inherit;\n background: none;\n padding: 0;\n}\n.CodeBlock_plain {\n color: var(--dsw-alias-label-primary);\n}\n.CodeBlock_card :where(pre) {\n padding: 6px 22px 20px;\n word-break: normal;\n overflow-wrap: anywhere;\n}\n.CodeBlock_card[data-code-wrap=false] {\n --dsl-code-block-line-white-space: pre;\n}\n.CodeBlock_card[data-code-wrap=false] :where(pre) {\n white-space: pre;\n overflow-wrap: normal;\n}\n.CodeBlock_numbered :where(pre) code {\n display: block;\n counter-reset: source-line;\n white-space: normal;\n}\n.CodeBlock_numbered :where(pre) code > .line {\n position: relative;\n display: block;\n min-height: 1lh;\n padding-inline-start: calc(var(--dsl-code-block-line-number-width) + 12px);\n counter-increment: source-line;\n white-space: var(--dsl-code-block-line-white-space, pre-wrap);\n}\n.CodeBlock_numbered :where(pre) code > .line::before {\n position: absolute;\n inset-inline-start: 0;\n width: var(--dsl-code-block-line-number-width);\n color: var(--dsw-alias-label-tertiary);\n text-align: end;\n content: counter(source-line);\n user-select: none;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css */\n.ImageLightbox_backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: grid;\n place-items: center;\n padding: 40px;\n}\n.ImageLightbox_mask {\n position: absolute;\n inset: 0;\n background: var(--dsw-alias-bg-mask-1);\n backdrop-filter: var(--dsw-mask-blur);\n}\n.ImageLightbox_image {\n position: relative;\n max-width: min(100%, 1600px);\n max-height: calc(100vh - 80px);\n object-fit: contain;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-specific-input-major);\n border: 0;\n box-shadow: var(--dsw-elevation-prominent);\n}\n.ImageLightbox_close {\n position: fixed;\n top: 20px;\n right: 20px;\n z-index: 1;\n display: grid;\n place-items: center;\n width: 36px;\n height: 36px;\n border: 0.5px solid var(--dsw-alias-border-l2-darkmode-thin);\n border-radius: 999px;\n corner-shape: round;\n background: var(--dsw-specific-input-major);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n.ImageLightbox_close:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 3px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css */\n.ImagePreview_frame {\n position: relative;\n display: grid;\n place-items: center;\n width: 100%;\n height: 180px;\n overflow: hidden;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-base);\n}\n.ImagePreview_image {\n width: 100%;\n height: 100%;\n min-height: 0;\n object-fit: contain;\n opacity: 0;\n}\n.ImagePreview_image[data-ready] {\n opacity: 1;\n}\n.ImagePreview_status {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px;\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n line-height: 18px;\n}\n\n/* unused-math:unused-math */\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/WebBlock.module.css */\n.WebBlock_block {\n --dsl-web-radius: var(--dsw-radius-lg);\n margin: 16px 0;\n padding: 12px 14px;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsl-web-radius);\n}\n.WebBlock_answer {\n margin-bottom: 8px;\n}\n.WebBlock_answer > div > :first-child {\n margin-top: 0;\n}\n.WebBlock_answer > div > :last-child {\n margin-bottom: 0;\n}\n.WebBlock_sources {\n margin: 0;\n padding-left: 2.5em;\n display: flex;\n flex-direction: column;\n gap: 10px;\n max-height: 320px;\n overflow-y: auto;\n}\n.WebBlock_source {\n min-width: 0;\n}\n.WebBlock_sourceLink {\n color: var(--dsw-alias-link);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n word-break: break-word;\n text-decoration: none;\n}\n.WebBlock_linkIcon {\n width: 1.1em;\n height: 1.1em;\n vertical-align: -0.25em;\n margin-right: 5px;\n}\n.WebBlock_sourceLink:hover,\n.WebBlock_sourceLink:focus-visible {\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n}\n.WebBlock_snippet {\n margin-top: 2px;\n color: var(--dsw-alias-label-secondary);\n font-size: 13px;\n line-height: 19px;\n word-break: break-word;\n}\n.WebBlock_published {\n margin-top: 2px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_truncated {\n margin-top: 8px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_empty {\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_fetch {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.WebBlock_fetchUrl {\n color: var(--dsw-alias-link);\n font-family: var(--ds-font-family-code);\n font-size: 13px;\n font-weight: 500;\n line-height: 19px;\n word-break: break-all;\n text-decoration: none;\n}\n.WebBlock_fetchUrl:hover,\n.WebBlock_fetchUrl:focus-visible {\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n}\n.WebBlock_fetchMeta {\n display: flex;\n align-items: baseline;\n gap: 12px;\n}\n.WebBlock_status {\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_fetch .WebBlock_truncated {\n margin-top: 0;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/JsonBlock.module.css */\n.JsonBlock_root {\n margin: 4px 0;\n}\n.JsonBlock_toggle {\n font-size: 12px;\n line-height: 18px;\n color: var(--dsw-alias-label-secondary);\n padding: 2px 6px;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--dsw-radius-sm);\n}\n.JsonBlock_toggle:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.JsonBlock_body {\n margin: 4px 0 0;\n padding: 8px;\n max-height: 200px;\n overflow: auto;\n background: var(--dsw-alias-markdown-code-block);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-lg);\n font-family: var(--ds-font-family-code);\n font-size: 11px;\n line-height: 16px;\n color: var(--dsw-alias-label-primary);\n}\n\n/* Layout only: official Harness primitives own control sizes and appearance. */\n.mv-panel {\n --mv-top: 22px;\n height: 100%;\n min-width: 0;\n min-height: 0;\n overflow: hidden;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n font: var(--dsw-font-xs-13);\n container: mv-panel / inline-size;\n}\n.mv-panel *,\n.mv-dialog-content * {\n box-sizing: border-box;\n}\n.mv-panel :where(h1, h2, p),\n.mv-dialog-content p {\n margin: 0;\n}\n.mv-panel h1 {\n font: var(--dsw-font-l-20);\n}\n.mv-panel h2 {\n font: var(--dsw-font-s-strong-14);\n}\n.mv-panel strong,\n.mv-dialog-content strong {\n font-weight: var(--dsw-font-xs-strong-13-font-weight);\n}\n.mv-panel svg {\n flex-shrink: 0;\n}\n.mv-shell {\n display: grid;\n grid-template-columns: 176px minmax(0, 1fr);\n height: 100%;\n min-height: 0;\n}\n.mv-navigation {\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: var(--mv-top) 12px 12px;\n border-right: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-module-platform);\n min-height: 0;\n}\n.mv-navigation-header,\n.mv-brand {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.mv-navigation-header {\n justify-content: space-between;\n}\n.mv-brand {\n padding-left: 8px;\n font: var(--dsw-font-s-strong-14);\n}\n.mv-navigation nav {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: 24px;\n overflow-y: auto;\n}\n.mv-navigation-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.mv-panel .mv-navigation-label {\n padding: 0 8px 4px;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n.mv-panel .mv-navigation-item {\n width: 100%;\n justify-content: flex-start;\n}\n.mv-navigation-item[aria-current='page'] {\n background: var(--dsw-alias-interactive-bg-active);\n}\n.mv-navigation-footer {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: 8px;\n min-width: 0;\n padding: 12px 8px 4px;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-navigation-footer-mark {\n display: grid;\n place-items: center;\n flex-shrink: 0;\n width: 28px;\n height: 28px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-2);\n}\n.mv-navigation-footer-copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n.mv-navigation-footer-title {\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-strong-13);\n}\n.mv-navigation-footer-description {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n.mv-feature-content {\n min-width: 0;\n min-height: 0;\n padding-inline: 24px;\n container: mv-workspace / inline-size;\n}\n.mv-feature {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0;\n min-height: 0;\n}\n.mv-page-top {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n padding: var(--mv-top) 0 20px;\n flex-shrink: 0;\n}\n.mv-page-top p {\n margin-top: 4px;\n}\n.mv-page-top > div:first-child {\n min-width: 0;\n}\n.mv-page-top > .mv-actions {\n flex-shrink: 0;\n}\n[data-platform='darwin'] .mv-panel {\n --mv-top: 56px;\n}\n[data-windows-titlebar] .mv-panel {\n --mv-top: max(12px, calc(var(--dsh-windows-titlebar-height) + 8px));\n}\n[data-platform='darwin']:not([data-fullscreen])\n [data-sidebar-collapsed]\n :is(.mv-navigation, .mv-page-top) {\n padding-top: max(var(--mv-top), var(--dsh-frame-top-clearance, 0px));\n}\n.mv-scroll {\n overflow-y: auto;\n min-height: 0;\n flex: 1;\n padding-bottom: 24px;\n}\n.mv-actions,\n.mv-section-heading {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.mv-actions {\n flex-wrap: wrap;\n}\n.mv-section-heading {\n justify-content: space-between;\n}\n.mv-muted {\n color: var(--dsw-alias-label-secondary);\n}\n.mv-small {\n font: var(--dsw-font-xxs-12);\n}\n.mv-min-width {\n min-width: 0;\n}\n.mv-wrap {\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n.mv-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mv-field {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 0;\n}\n.mv-field label {\n font: var(--dsw-font-xs-strong-13);\n}\n.mv-field > span {\n width: 100%;\n}\n.mv-link-form {\n max-width: 960px;\n margin: 0;\n}\n.mv-link-row {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.mv-link-row > span {\n flex: 1;\n min-width: 0;\n}\n.mv-select {\n min-width: 0;\n}\n.mv-clipboard-input > span {\n width: 100%;\n}\n.mv-select > button {\n width: 100%;\n justify-content: space-between;\n}\n.mv-media-result {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 20px;\n margin-top: 24px;\n padding: 20px;\n max-width: 960px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.mv-media-identity {\n display: flex;\n align-items: center;\n gap: 16px;\n width: 100%;\n}\n.mv-media-identity p {\n margin: 8px 0;\n}\n.mv-cover {\n width: 192px;\n aspect-ratio: 16/9;\n object-fit: cover;\n border-radius: var(--dsw-radius-md);\n flex-shrink: 0;\n}\n.mv-cover-placeholder {\n display: grid;\n place-items: center;\n background: var(--dsw-alias-bg-layer-2);\n color: var(--dsw-alias-label-tertiary);\n}\n.mv-form-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 16px;\n width: 100%;\n}\n.mv-result-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n width: 100%;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n padding-top: 16px;\n}\n.mv-empty {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 12px;\n padding: 64px 16px;\n text-align: center;\n}\n.mv-empty > svg,\n.mv-empty > p {\n color: var(--dsw-alias-label-secondary);\n}\n.mv-empty > p {\n max-width: 400px;\n}\n.mv-error,\n.mv-notice {\n padding: 12px;\n margin-block: 12px;\n border-radius: var(--dsw-radius-md);\n font: var(--dsw-font-xs-13);\n background: var(--dsw-alias-bg-layer-2);\n overflow-wrap: anywhere;\n}\n.mv-error,\n.mv-error-text {\n color: var(--dsw-alias-state-error-primary);\n}\n.mv-notice {\n color: var(--dsw-alias-label-secondary);\n}\n.mv-list-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n padding-bottom: 12px;\n flex-shrink: 0;\n}\n.mv-list-toolbar > span:first-child {\n flex: 1;\n min-width: 0;\n}\n.mv-task-list {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-task-row {\n display: flex;\n gap: 12px;\n padding: 16px 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-task-icon {\n display: grid;\n place-items: center;\n flex-shrink: 0;\n width: 16px;\n height: 22px;\n}\n.mv-task-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mv-task-heading {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.mv-task-actions {\n align-self: center;\n justify-content: flex-end;\n flex-shrink: 0;\n}\n.mv-completed-row {\n align-items: center;\n}\n.mv-task-select > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.mv-delete-files {\n max-height: 40vh;\n overflow: auto;\n padding-left: 20px;\n}\n.mv-delete-files li + li {\n margin-top: 12px;\n}\n.mv-task-thumbnail {\n width: 96px;\n aspect-ratio: 16 / 9;\n border-radius: var(--dsw-radius-md);\n flex-shrink: 0;\n overflow: hidden;\n}\n.mv-task-thumbnail img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.mv-task-progress {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mv-task-progress progress {\n width: 100%;\n height: 4px;\n border: 0;\n border-radius: var(--dsw-radius-xs);\n overflow: hidden;\n appearance: none;\n background: var(--dsw-alias-bg-layer-2);\n color: var(--dsw-alias-label-primary);\n}\n.mv-task-progress progress::-webkit-progress-bar {\n background: var(--dsw-alias-bg-layer-2);\n}\n.mv-task-progress progress::-webkit-progress-value {\n background: var(--dsw-alias-label-primary);\n}\n.mv-task-progress progress::-moz-progress-bar {\n background: var(--dsw-alias-label-primary);\n}\n.mv-pagination {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n padding: 12px 0;\n}\n.mv-dialog {\n max-height: 100%;\n}\n.mv-dialog-content {\n overflow-y: auto;\n min-height: 0;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n}\n.mv-detail-stack {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.mv-file {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n}\n.mv-file-info {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n.mv-file-actions {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n.mv-file-link {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n min-height: 28px;\n margin-right: auto;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xxs-12);\n}\n.mv-settings {\n max-width: 960px;\n width: 100%;\n}\n.mv-settings-section {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 20px 0;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-reference-projects {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 12px;\n}\n.mv-reference-link {\n display: inline-flex;\n align-items: center;\n align-self: flex-start;\n gap: 6px;\n overflow-wrap: anywhere;\n}\n.mv-runtime-list {\n display: grid;\n gap: 12px;\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.mv-runtime-row {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.mv-runtime-row .mv-field {\n margin-top: auto;\n}\n.mv-shell[data-collapsed='true'] {\n grid-template-columns: 56px minmax(0, 1fr);\n}\n.mv-shell[data-collapsed='true'] .mv-navigation {\n padding-inline: 8px;\n}\n.mv-shell[data-collapsed='true']\n :is(.mv-brand, .mv-navigation-label, .mv-navigation-text, .mv-navigation-footer-copy) {\n display: none;\n}\n.mv-shell[data-collapsed='true'] .mv-navigation-footer {\n justify-content: center;\n padding-inline: 0;\n}\n.mv-shell[data-collapsed='true'] :is(.mv-navigation-header, .mv-navigation-item) {\n justify-content: center;\n}\n@container mv-panel (max-width: 680px) {\n .mv-shell {\n grid-template-columns: 56px minmax(0, 1fr);\n }\n .mv-navigation {\n padding-inline: 8px;\n }\n .mv-brand,\n .mv-navigation-label,\n .mv-navigation-text,\n .mv-navigation-footer-copy,\n .mv-navigation-header {\n display: none;\n }\n .mv-panel .mv-navigation-item {\n justify-content: center;\n }\n .mv-navigation-footer {\n justify-content: center;\n padding-inline: 0;\n }\n .mv-feature-content {\n padding-inline: 12px;\n }\n}\n@container mv-workspace (max-width: 760px) {\n .mv-runtime-list {\n grid-template-columns: minmax(0, 1fr);\n }\n .mv-task-row {\n flex-wrap: wrap;\n }\n .mv-task-actions {\n margin-left: 28px;\n }\n .mv-completed-row .mv-task-actions {\n margin-left: 0;\n }\n}\n@container mv-workspace (max-width: 480px) {\n .mv-page-top,\n .mv-media-identity,\n .mv-result-footer {\n flex-direction: column;\n }\n .mv-form-grid {\n grid-template-columns: minmax(0, 1fr);\n }\n .mv-link-row,\n .mv-list-toolbar,\n .mv-section-heading {\n flex-wrap: wrap;\n }\n .mv-link-row > span {\n flex-basis: 100%;\n }\n .mv-list-toolbar > span:first-child {\n flex-basis: 100%;\n }\n .mv-cover {\n width: 100%;\n max-width: 320px;\n }\n}\n.mv-diagnostic-log {\n max-height: 320px;\n overflow: auto;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n:is(.mv-panel, .mv-dialog-content) .mv-compact-input { height: 28px; border-radius: var(--dsw-radius-sm); padding: 0 10px; }\n:is(.mv-panel, .mv-dialog-content) .mv-compact-input input { font-size: 12px; line-height: 18px; }\n";
|
|
8
|
+
style.textContent = "/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/StateDot.module.css */\n.StateDot_dot {\n position: relative;\n display: inline-block;\n flex: none;\n}\n.StateDot_dot::after {\n content: \"\";\n position: absolute;\n inset: 20%;\n border-radius: 50%;\n corner-shape: round;\n background: currentColor;\n}\n.StateDot_dot[data-state=done] {\n color: var(--dsw-alias-state-success-primary);\n}\n.StateDot_dot[data-state=warning] {\n color: var(--dsw-alias-state-warn-primary);\n}\n.StateDot_dot[data-state=error] {\n color: var(--dsw-alias-state-error-primary);\n}\n.StateDot_dot[data-state=idle] {\n color: var(--dsw-alias-state-idle-primary);\n}\n.StateDot_spinner {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n.StateDot_spinnerMotion {\n transform-origin: center;\n animation: StateDot_dsh-state-dot-spin 1.5s linear infinite;\n}\n.StateDot_spinnerTrack,\n.StateDot_spinnerArc {\n fill: none;\n stroke: currentColor;\n stroke-width: 2;\n stroke-linecap: round;\n}\n.StateDot_spinnerTrack {\n opacity: 0.25;\n}\n.StateDot_spinnerArc {\n stroke-dasharray: 12 150;\n animation: StateDot_dsh-state-dot-dash 1.5s ease-in-out infinite;\n}\n@keyframes StateDot_dsh-state-dot-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes StateDot_dsh-state-dot-dash {\n 0% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 24 150;\n stroke-dashoffset: -6;\n }\n 100% {\n stroke-dasharray: 12 150;\n stroke-dashoffset: 0;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .StateDot_spinnerMotion,\n .StateDot_spinnerArc {\n animation: none;\n }\n .StateDot_spinnerArc {\n stroke-dasharray: 18 150;\n stroke-dashoffset: -3;\n }\n}\n.StateDot_step {\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n border-radius: 50%;\n corner-shape: round;\n border: 1.5px solid var(--dsw-alias-label-tertiary);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.StateDot_step[data-state=done] {\n border-color: var(--dsw-alias-state-success-primary);\n background: var(--dsw-alias-state-success-primary);\n}\n.StateDot_step[data-state=error] {\n border-color: var(--dsw-alias-state-error-primary);\n background: var(--dsw-alias-state-error-primary);\n}\n.StateDot_step[data-state=warning] {\n border-color: var(--dsw-alias-state-warn-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css */\n.TextShimmer_root {\n position: relative;\n display: inline-grid;\n width: max-content;\n max-width: 100%;\n min-width: 0;\n vertical-align: top;\n color: inherit;\n}\n.TextShimmer_content {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.TextShimmer_text {\n color: inherit;\n}\n.TextShimmer_text[data-shimmer-text]::after {\n content: attr(data-shimmer-text);\n}\n.TextShimmer_decoration {\n position: absolute;\n inset: 0;\n overflow: clip;\n pointer-events: none;\n user-select: none;\n}\n.TextShimmer_sweep {\n position: absolute;\n inset: 0;\n overflow: hidden;\n color: var(--dsw-alias-label-shimmer);\n mask-image:\n linear-gradient(\n 105deg,\n transparent 0%,\n black 40% 60%,\n transparent 100%);\n transform: translateX(-100%);\n animation-name: TextShimmer_dsh-row-shimmer-sweep;\n}\n.TextShimmer_sweep * {\n color: inherit !important;\n}\n.TextShimmer_sweep [data-shimmer-decoration] {\n background: currentColor;\n}\n.TextShimmer_highlight {\n width: 100%;\n height: 100%;\n transform: translateX(100%);\n animation-name: TextShimmer_dsh-row-shimmer-highlight;\n}\n.TextShimmer_sweep,\n.TextShimmer_highlight {\n animation-duration: 1.5s;\n animation-delay: 0.3s;\n animation-timing-function: steps(48, end);\n animation-iteration-count: infinite;\n}\n@keyframes TextShimmer_dsh-row-shimmer-sweep {\n 0% {\n transform: translateX(-100%);\n }\n 66.6667%, 100% {\n transform: translateX(100%);\n }\n}\n@keyframes TextShimmer_dsh-row-shimmer-highlight {\n 0% {\n transform: translateX(100%);\n }\n 66.6667%, 100% {\n transform: translateX(-100%);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .TextShimmer_decoration {\n display: none;\n }\n .TextShimmer_sweep,\n .TextShimmer_highlight {\n animation: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css */\n.DisclosureRow_root {\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n}\n.DisclosureRow_header {\n display: flex;\n align-items: center;\n min-width: 0;\n}\n.DisclosureRow_header[data-has-accessory] {\n gap: 8px;\n}\n.DisclosureRow_header[data-has-accessory] .DisclosureRow_row {\n flex: 0 1 auto;\n}\n.DisclosureRow_row {\n flex: 1 1 auto;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n height: calc(24px + var(--dsh-content-font-delta, 0px));\n min-width: 0;\n color: var(--dsw-alias-label-tertiary);\n transition: color 100ms ease;\n}\n.DisclosureRow_row[data-expandable] {\n cursor: pointer;\n}\n.DisclosureRow_row:hover {\n color: var(--dsw-alias-label-secondary);\n}\n.DisclosureRow_leading {\n position: relative;\n flex: none;\n width: calc(16px + var(--dsh-content-font-delta, 0px));\n height: calc(16px + var(--dsh-content-font-delta, 0px));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-right: 6px;\n padding: 0;\n border: none;\n background: none;\n color: inherit;\n}\n.DisclosureRow_leading svg:not([data-state]) {\n width: calc(14px + var(--dsh-content-font-delta, 0px));\n height: calc(14px + var(--dsh-content-font-delta, 0px));\n}\nbutton.DisclosureRow_leading {\n cursor: pointer;\n}\n.DisclosureRow_iconIdle {\n display: inline-flex;\n opacity: 1;\n transition: opacity 100ms ease;\n}\n.DisclosureRow_chevronHover {\n position: absolute;\n inset: 0;\n margin: auto;\n opacity: 0;\n transition: opacity 100ms ease;\n}\n.DisclosureRow_row:hover .DisclosureRow_iconIdle {\n opacity: 0;\n}\n.DisclosureRow_row:hover .DisclosureRow_chevronHover {\n opacity: 1;\n}\n.DisclosureRow_title {\n flex: none;\n font-size: var(--dsh-content-font-size-secondary, 13px);\n line-height: calc(24px + var(--dsh-content-font-delta, 0px));\n color: inherit;\n}\n@media (prefers-reduced-motion: reduce) {\n .DisclosureRow_row {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css */\n.Button_button {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 4px;\n border: none;\n border-radius: var(--dsw-radius-md);\n cursor: pointer;\n font-size: 14px;\n line-height: 22px;\n color: var(--dsw-alias-label-primary);\n background: transparent;\n padding: 0 14px;\n}\n.Button_button:disabled {\n cursor: not-allowed;\n opacity: 0.4;\n}\n.Button_md {\n height: 36px;\n}\n.Button_sm {\n height: 28px;\n font-size: 12px;\n line-height: 18px;\n padding: 0 10px;\n border-radius: var(--dsw-radius-sm);\n}\n.Button_primary {\n background: var(--dsw-alias-button-primary-fill);\n color: var(--dsw-alias-label-primary-foreground);\n}\n.Button_primary:hover:not(:disabled) {\n background: var(--dsw-alias-button-primary-hover);\n}\n.Button_ghost:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Button_ghost:active:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-active);\n}\n.Button_outline {\n border: 0.5px solid var(--dsw-alias-border-l3);\n background: transparent;\n}\n.Button_outline:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Button_toolbar {\n background: var(--dsw-alias-button-tool-bar-fill);\n}\n.Button_toolbar:hover:not(:disabled) {\n background: var(--dsw-alias-button-tool-bar-hover);\n}\n.Button_icon {\n display: inline-flex;\n width: 16px;\n height: 16px;\n align-items: center;\n justify-content: center;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Pill.module.css */\n.Pill_pill {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 24px;\n padding: 0 8px;\n border: none;\n border-radius: 999px;\n corner-shape: round;\n font-size: 12px;\n line-height: 18px;\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-2);\n}\n.Pill_interactive {\n cursor: pointer;\n}\n.Pill_interactive:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Pill_active {\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-button-ghost-active-fill);\n box-shadow: inset 0 0 0 1px var(--dsw-alias-button-ghost-active-border);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SegmentedTabs.module.css */\n.SegmentedTabs_tabs {\n position: relative;\n display: grid;\n padding: 4px;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-module-platform);\n}\n.SegmentedTabs_indicator {\n position: absolute;\n inset: 4px auto 4px 4px;\n box-sizing: border-box;\n border: 0.5px solid var(--dsw-alias-border-l3);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n transition: transform 180ms ease;\n pointer-events: none;\n}\n.SegmentedTabs_tab {\n position: relative;\n justify-content: center;\n height: 34px;\n padding: 0 12px;\n border-radius: var(--dsw-radius-md);\n font-size: 14px;\n line-height: 20px;\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n transition: color 180ms ease;\n}\n.SegmentedTabs_tab:hover,\n.SegmentedTabs_tab[aria-selected=true] {\n background: transparent;\n color: var(--dsw-alias-label-primary);\n}\n.SegmentedTabs_tab[aria-selected=true] {\n font-weight: 600;\n}\n.SegmentedTabs_tab:focus-visible {\n outline: none;\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 4px;\n}\n@media (prefers-reduced-motion: reduce) {\n .SegmentedTabs_indicator,\n .SegmentedTabs_tab {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tag.module.css */\n.Tag_tag {\n display: inline-flex;\n align-items: center;\n border-radius: 999px;\n corner-shape: round;\n padding: 1px 8px;\n font-size: 11px;\n line-height: 17px;\n font-weight: 500;\n white-space: nowrap;\n}\n.Tag_tag[data-tone=outline] {\n border: 0.5px solid var(--dsw-alias-border-l4);\n color: var(--dsw-alias-label-tertiary);\n}\n.Tag_tag[data-tone=solid] {\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-layer-3);\n}\n.Tag_tag[data-tone=neutral] {\n background: var(--dsw-alias-bg-module-platform);\n color: var(--dsw-alias-label-secondary);\n}\n.Tag_tag[data-tone=quiet] {\n color: var(--dsw-alias-label-tertiary);\n}\n.Tag_tag[data-tone=success] {\n background: color-mix(in srgb, var(--dsw-alias-state-success-primary) 10%, transparent);\n color: var(--dsw-alias-state-success-primary);\n}\n.Tag_tag[data-tone=info] {\n background: color-mix(in srgb, var(--dsw-alias-state-business-primary) 10%, transparent);\n color: var(--dsw-alias-state-business-primary);\n}\n.Tag_tag[data-tone=warning] {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-primary) 12%, transparent);\n color: var(--dsw-alias-state-warn-primary);\n}\n.Tag_tag[data-tone=danger] {\n background: color-mix(in srgb, var(--dsw-alias-state-error-primary) 10%, transparent);\n color: var(--dsw-alias-state-error-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/PathLabel.module.css */\n.PathLabel_path {\n display: flex;\n flex: 1 1 auto;\n justify-content: flex-end;\n min-width: 0;\n overflow: hidden;\n font-size: 12px;\n white-space: nowrap;\n}\n.PathLabel_path[data-path-clipped] {\n mask-image:\n linear-gradient(\n to right,\n transparent,\n black 28px);\n}\n.PathLabel_text {\n flex: none;\n margin-right: auto;\n}\n.PathLabel_directory {\n color: var(--dsw-alias-label-tertiary);\n}\n.PathLabel_name {\n color: var(--dsw-alias-label-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Switch.module.css */\n.Switch_switch {\n box-sizing: border-box;\n position: relative;\n flex: 0 0 auto;\n width: 36px;\n height: 20px;\n padding: 2px;\n border: 0;\n border-radius: 999px;\n corner-shape: round;\n background: var(--dsw-alias-border-l3);\n cursor: pointer;\n}\n.Switch_switch[aria-checked=true] {\n background: var(--dsw-alias-brand-primary);\n}\n.Switch_switch:disabled {\n cursor: default;\n opacity: 0.5;\n}\n.Switch_switch:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.Switch_thumb {\n display: block;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n corner-shape: round;\n background: var(--dsw-alias-label-primary-foreground);\n transition: transform 120ms ease;\n}\n.Switch_switch[aria-checked=false] .Switch_thumb {\n background: var(--dsw-alias-switch-thumb);\n}\n.Switch_switch[aria-checked=true] .Switch_thumb {\n transform: translateX(16px);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SegmentedControl.module.css */\n.SegmentedControl_control {\n position: relative;\n display: inline-grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n gap: 2px;\n padding: 4px;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.SegmentedControl_indicator {\n position: absolute;\n top: 4px;\n left: 4px;\n width: calc((100% - 8px - 2px * (var(--dsh-segment-count) - 1)) / var(--dsh-segment-count));\n height: calc(100% - 8px);\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-layer-1);\n box-shadow: var(--dsw-elevation-soft);\n transform: translateX(calc(var(--dsh-segment-index) * (100% + 2px)));\n transition: transform 160ms ease;\n pointer-events: none;\n}\n.SegmentedControl_tab {\n box-sizing: border-box;\n position: relative;\n z-index: 1;\n height: 28px;\n padding: 0 16px;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n color: var(--dsw-alias-label-secondary);\n font: inherit;\n font-size: 13px;\n line-height: 20px;\n font-weight: 500;\n white-space: nowrap;\n cursor: pointer;\n transition: color 120ms ease;\n}\n.SegmentedControl_tab:hover:not(:disabled),\n.SegmentedControl_tab[aria-selected=true] {\n color: var(--dsw-alias-label-primary);\n}\n.SegmentedControl_tab:disabled {\n cursor: default;\n opacity: 0.4;\n}\n.SegmentedControl_tab:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n@media (prefers-reduced-motion: reduce) {\n .SegmentedControl_indicator,\n .SegmentedControl_tab {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Checkbox.module.css */\n.Checkbox_checkbox {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n line-height: 20px;\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n.Checkbox_checkbox input {\n flex: 0 0 auto;\n width: 16px;\n height: 16px;\n margin: 0;\n accent-color: var(--dsw-alias-brand-primary);\n cursor: inherit;\n}\n.Checkbox_checkbox input:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.Checkbox_checkbox:has(input:disabled) {\n cursor: default;\n opacity: 0.5;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css */\n.Input_wrap {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n height: 32px;\n padding: 0 8px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.Input_wrap:focus-within {\n border-color: var(--dsw-alias-state-business-primary);\n}\n.Input_icon {\n display: inline-flex;\n width: 16px;\n height: 16px;\n align-items: center;\n justify-content: center;\n color: var(--dsw-alias-label-tertiary);\n}\n.Input_input {\n flex: 1;\n min-width: 0;\n border: none;\n outline: none;\n background: transparent;\n font-size: 14px;\n line-height: 22px;\n color: var(--dsw-alias-label-primary);\n}\n.Input_input::placeholder {\n color: var(--dsw-alias-label-dimmed);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/InlineEditor.module.css */\n.InlineEditor_editor {\n box-sizing: border-box;\n flex: 1 1 auto;\n min-width: 0;\n min-height: 28px;\n max-height: 127px;\n margin: 0;\n padding: 3px 8px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-sm);\n outline: none;\n background: var(--dsw-alias-bg-base);\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n font-family: Inter, var(--dsw-font-family);\n overflow-y: auto;\n resize: none;\n}\n.InlineEditor_editor:focus {\n border-color: var(--dsw-alias-state-business-primary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css */\n.ShortcutKeys_keys {\n display: inline-flex;\n flex: none;\n align-items: center;\n gap: 3px;\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n line-height: 16px;\n white-space: nowrap;\n}\n.ShortcutKeys_key {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font: inherit;\n}\n.ShortcutKeys_tooltip {\n color: inherit;\n font-size: 11px;\n line-height: 14px;\n gap: 2px;\n}\n.ShortcutKeys_tooltip .ShortcutKeys_key {\n min-width: 16px;\n height: 16px;\n padding: 0 2px;\n border-radius: 4px;\n border: 0;\n background: var(--dsw-alias-tooltip-key-bg);\n}\n.ShortcutKeys_separator {\n font: inherit;\n}\n.ShortcutKeys_joined {\n box-sizing: border-box;\n height: 16px;\n padding: 0 4px;\n border-radius: 4px;\n background: var(--dsw-alias-tooltip-key-bg);\n}\n.ShortcutKeys_joined .ShortcutKeys_key {\n min-width: 0;\n height: auto;\n padding: 0;\n border: 0;\n background: transparent;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css */\n.MenuSurface_surface,\n.MenuSurface_backing {\n border-radius: var(--dsw-radius-lg);\n}\n.MenuSurface_compact {\n border-radius: var(--dsw-radius-md);\n}\n:where(.MenuSurface_surface) {\n position: relative;\n}\n.MenuSurface_surface {\n anchor-name: var(--dsh-menu-anchor);\n isolation: isolate;\n}\n.MenuSurface_material {\n position: absolute;\n inset: 0;\n z-index: -1;\n border-radius: inherit;\n background: var(--dsw-menu-surface-fill);\n backdrop-filter: var(--dsw-menu-backdrop-filter);\n pointer-events: none;\n}\n.MenuSurface_backing {\n display: none;\n}\nhtml[data-platform=darwin] .MenuSurface_backing {\n display: block;\n position: fixed;\n position-anchor: var(--dsh-menu-anchor);\n top: anchor(top);\n left: anchor(left);\n width: anchor-size(width, 0px);\n height: anchor-size(height, 0px);\n z-index: -1;\n background: var(--dsw-alias-bg-base);\n pointer-events: none;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Menu.module.css */\n.Menu_root {\n position: relative;\n display: inline-flex;\n}\n.Menu_list,\n.Menu_submenu {\n box-sizing: border-box;\n padding: 4px;\n display: flex;\n flex-direction: column;\n gap: 0;\n border: 0;\n --dsw-elevation-stroke-color: var(--dsw-alias-border-l1);\n box-shadow: var(--dsw-elevation-prominent);\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n}\n.Menu_list {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 100;\n min-width: 144px;\n max-width: 360px;\n}\n.Menu_portal {\n position: fixed;\n top: auto;\n left: auto;\n z-index: 1100;\n}\n.Menu_sideTop {\n top: auto;\n bottom: calc(100% + 4px);\n}\n.Menu_alignEnd {\n left: auto;\n right: 0;\n}\n.Menu_scrollable {\n max-height: calc(100vh - 12px - max(12px, var(--dsh-frame-overlay-top, 12px)));\n}\n.Menu_viewport {\n display: flex;\n flex-direction: column;\n min-height: 0;\n}\n.Menu_scrollable .Menu_viewport {\n overflow-y: auto;\n}\n.Menu_footer {\n flex: none;\n display: flex;\n flex-direction: column;\n margin-top: 3px;\n padding-top: 3px;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.Menu_itemWrap {\n position: relative;\n}\n.Menu_item {\n display: flex;\n align-items: center;\n gap: 6px;\n width: 100%;\n min-height: 34px;\n padding: 6px 8px;\n border: none;\n border-radius: var(--dsw-radius-md);\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n line-height: 20px;\n color: var(--dsw-alias-label-primary);\n text-align: left;\n}\n.Menu_item:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Menu_item:focus-visible:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover);\n outline: none;\n}\n.Menu_denseList .Menu_item {\n min-height: 30px;\n padding-block: 4px;\n}\n.Menu_denseList .Menu_label {\n padding-block: 3px;\n}\n.Menu_list.Menu_compactList,\n.Menu_submenu.Menu_compactList {\n min-width: 156px;\n padding: 4px;\n}\n.Menu_compactList .Menu_item {\n min-height: 24px;\n gap: 5px;\n padding: 2px 6px;\n border-radius: var(--dsw-radius-sm);\n font-size: 11px;\n line-height: 17px;\n}\n.Menu_compactList .Menu_itemIcon {\n width: 12px;\n height: 12px;\n}\n.Menu_compactList .Menu_separator {\n margin: 2px;\n}\n.Menu_compactList .Menu_label {\n padding: 3px 6px;\n font-size: 10px;\n line-height: 15px;\n}\n.Menu_item:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n.Menu_itemIcon {\n display: inline-flex;\n flex: none;\n width: 14px;\n height: 14px;\n align-items: center;\n justify-content: center;\n color: var(--dsw-alias-menu-icon);\n}\n.Menu_itemIcon svg,\n.Menu_check {\n width: 14px;\n height: 14px;\n}\n.Menu_compactList .Menu_itemIcon svg,\n.Menu_compactList .Menu_check {\n width: 12px;\n height: 12px;\n}\n.Menu_itemLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.Menu_shortcut {\n flex: none;\n margin-inline-start: auto;\n}\n.Menu_shortcut .Menu_shortcutKeys {\n color: var(--dsw-alias-label-caption);\n font-size: 11px;\n line-height: 16px;\n}\n.Menu_check {\n flex: none;\n color: var(--dsw-alias-label-primary);\n}\n.Menu_selected {\n background: transparent;\n}\n.Menu_selectedFill {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Menu_danger {\n color: var(--dsw-alias-state-error-primary);\n}\n.Menu_danger .Menu_itemIcon {\n color: var(--dsw-alias-state-error-primary);\n}\n.Menu_danger:hover:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n}\n.Menu_danger:focus-visible:not(:disabled) {\n background: var(--dsw-alias-interactive-bg-hover-danger);\n outline: none;\n}\n.Menu_label {\n padding: 6px 8px;\n font-size: 11px;\n line-height: 15px;\n color: var(--dsw-alias-label-tertiary);\n}\n.Menu_separator {\n height: 0.5px;\n margin: 3px 2px;\n background: var(--dsw-alias-border-l2);\n}\n.Menu_separator + .Menu_separator,\n.Menu_separator + .Menu_itemWrap > .Menu_separator:first-child,\n.Menu_itemWrap:first-child > .Menu_separator:first-child {\n display: none;\n}\n.Menu_submenu {\n position: absolute;\n top: auto;\n bottom: -4px;\n left: calc(100% + 10px);\n z-index: 101;\n min-width: 163px;\n}\n.Menu_submenu::before {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: -10px;\n width: 10px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuGroup.module.css */\n.MenuGroup_group {\n position: relative;\n}\n.MenuGroup_start {\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n opacity: 0;\n pointer-events: none;\n}\n.MenuGroup_group + .MenuGroup_group {\n margin-top: 3px;\n}\n.MenuGroup_heading {\n position: sticky;\n top: 0;\n z-index: 1;\n padding: 4px 7px 2px;\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n font-size: 11px;\n line-height: 16px;\n font-weight: 500;\n}\n.MenuGroup_heading[data-stuck] {\n background: var(--dsw-alias-menu-group-header-fill);\n}\nhtml:not([data-platform=darwin]) .MenuGroup_heading {\n border-radius: var(--dsw-radius-md);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css */\n.HoverCard_root {\n position: relative;\n display: block;\n}\n.HoverCard_card {\n --dsw-hovercard-bg: #2C2C2E;\n position: fixed;\n z-index: 100;\n box-sizing: border-box;\n width: 244px;\n padding: 12px 16px;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-hovercard-bg);\n box-shadow: var(--dsw-shadow-lv3);\n}\n.HoverCard_copyable {\n cursor: pointer;\n}\n.HoverCard_copyable:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.HoverCard_feedback {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.HoverCard_copied {\n color: #FFFFFF;\n font-size: 14px;\n line-height: 20px;\n text-align: center;\n}\n.HoverCard_status {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n}\n.HoverCard_preview {\n display: flex;\n flex-direction: column;\n padding: 0;\n overflow: hidden;\n border: 0;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-bg-layer-1);\n color: var(--dsw-alias-label-primary);\n box-shadow: var(--dsw-elevation-panel);\n opacity: 1;\n transition: opacity var(--dsh-hover-preview-fade) linear;\n}\n@starting-style {\n .HoverCard_preview {\n opacity: 0;\n }\n}\n.HoverCard_preview[data-closing] {\n opacity: 0;\n pointer-events: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .HoverCard_preview {\n transition: none;\n }\n}\n.HoverCard_inline {\n display: inline;\n}\n.HoverCard_media {\n --dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);\n --dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);\n overflow: auto;\n padding: 8px;\n border: 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-specific-menu);\n backdrop-filter: var(--dsw-menu-backdrop-filter);\n box-shadow: var(--dsw-elevation-panel);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Modal.module.css */\n.Modal_root {\n pointer-events: auto;\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: max(24px, var(--dsh-frame-overlay-top, 24px)) 24px;\n}\n.Modal_mask {\n position: absolute;\n inset: var(--dsh-frame-chrome-top, 0px) 0 0;\n backdrop-filter: var(--dsw-mask-blur);\n}\n.Modal_mask::after {\n content: \"\";\n position: absolute;\n inset: 0;\n background: var(--dsw-alias-bg-mask-1);\n animation: Modal_modalEnter var(--ds-transition-duration) var(--ds-ease-in-out);\n}\n.Modal_dialog {\n box-sizing: border-box;\n position: relative;\n z-index: 1;\n display: flex;\n flex-direction: column;\n gap: 20px;\n width: min(380px, 100%);\n padding: 0 0 24px;\n overflow: hidden;\n border: 0;\n border-radius: var(--dsw-radius-panel);\n background: var(--dsw-alias-bg-layer-2);\n box-shadow: var(--dsw-elevation-prominent);\n animation: Modal_modalEnter var(--ds-transition-duration) var(--ds-ease-in-out);\n}\n@keyframes Modal_modalEnter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .Modal_mask::after,\n .Modal_dialog {\n animation: none;\n }\n}\n.Modal_dialog:focus {\n outline: none;\n}\n.Modal_content {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n.Modal_header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n padding: 22px 14px 12px 24px;\n}\n.Modal_title {\n margin: 0;\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n color: var(--dsw-alias-label-primary);\n}\n.Modal_close {\n flex: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n cursor: pointer;\n color: var(--dsw-alias-label-secondary);\n}\n.Modal_close:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.Modal_description {\n margin: 0;\n padding: 0 24px;\n font-size: 14px;\n line-height: 22px;\n font-weight: 400;\n color: var(--dsw-alias-label-primary);\n}\n.Modal_body {\n display: flex;\n flex-direction: column;\n min-width: 0;\n margin-top: 20px;\n padding: 0 24px;\n}\n.Modal_footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 8px;\n padding: 0 24px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/RiskConfirmation.module.css */\n.RiskConfirmation_confirmation {\n width: min(440px, 100%);\n max-height: 100%;\n overflow: hidden;\n}\n.RiskConfirmation_confirmationContent {\n min-height: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n}\n@supports (height: 100dvh) {\n .RiskConfirmation_confirmation {\n max-height: calc(100dvh - 48px);\n }\n}\n.RiskConfirmation_warning {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n color: var(--dsw-alias-label-secondary);\n font-size: 14px;\n line-height: 22px;\n}\n.RiskConfirmation_warning p {\n margin: 0;\n}\n.RiskConfirmation_warningIcon {\n flex: none;\n margin-top: 2px;\n color: var(--dsw-alias-state-error-primary);\n}\n.RiskConfirmation_acknowledgement {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n margin-top: 20px;\n color: var(--dsw-alias-label-primary);\n font-size: 14px;\n line-height: 22px;\n cursor: pointer;\n}\n.RiskConfirmation_acknowledgement input {\n flex: none;\n width: 16px;\n height: 16px;\n margin: 3px 0 0;\n accent-color: var(--dsw-alias-button-primary-fill);\n cursor: pointer;\n}\n.RiskConfirmation_acknowledgement input:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.RiskConfirmation_acknowledgement input:disabled {\n cursor: default;\n}\n.RiskConfirmation_modalAction {\n min-width: 72px;\n}\n.RiskConfirmation_confirmAction {\n min-width: 136px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ConnectionIndicator.module.css */\n.ConnectionIndicator_indicator {\n flex: none;\n display: inline-grid;\n grid-template-columns: 14px max-content;\n align-items: center;\n column-gap: 4px;\n height: 28px;\n padding: 0 8px;\n box-sizing: border-box;\n border: 1px solid transparent;\n border-radius: var(--dsw-radius-sm);\n font-family: inherit;\n font-size: 12px;\n font-weight: 500;\n line-height: 18px;\n white-space: nowrap;\n transition:\n background-color 160ms ease-out,\n color 160ms ease-out,\n border-color 160ms ease-out,\n opacity 150ms ease-out;\n animation: ConnectionIndicator_indicator-enter 150ms ease-out;\n}\n.ConnectionIndicator_leaving {\n opacity: 0;\n}\n@keyframes ConnectionIndicator_indicator-enter {\n from {\n opacity: 0;\n }\n}\n.ConnectionIndicator_warning {\n background: var(--dsw-alias-state-warn-tertiary);\n color: var(--dsw-alias-state-warn-label);\n border-color: color-mix(in srgb, var(--dsw-alias-state-warn-label) 20%, transparent);\n cursor: pointer;\n}\n.ConnectionIndicator_warning:hover {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-tertiary), var(--dsw-alias-state-warn-primary) 6%);\n}\n.ConnectionIndicator_warning:active {\n background: color-mix(in srgb, var(--dsw-alias-state-warn-tertiary), var(--dsw-alias-state-warn-primary) 10%);\n}\n.ConnectionIndicator_warning:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.ConnectionIndicator_success {\n background: var(--dsw-alias-state-success-tertiary);\n color: var(--dsw-alias-state-success-primary);\n border-color: color-mix(in srgb, var(--dsw-alias-state-success-primary) 20%, transparent);\n}\n.ConnectionIndicator_icon {\n display: grid;\n place-items: center;\n width: 14px;\n height: 14px;\n}\n.ConnectionIndicator_icon > svg {\n color: inherit;\n}\n.ConnectionIndicator_label {\n text-align: left;\n}\n.ConnectionIndicator_dots {\n display: inline-block;\n width: 1em;\n text-align: left;\n}\n.ConnectionIndicator_secondDot {\n animation: ConnectionIndicator_reveal-second-dot 1.5s step-end infinite;\n}\n.ConnectionIndicator_thirdDot {\n animation: ConnectionIndicator_reveal-third-dot 1.5s step-end infinite;\n}\n@keyframes ConnectionIndicator_reveal-second-dot {\n 0%, 33.32% {\n opacity: 0;\n }\n 33.33%, 100% {\n opacity: 1;\n }\n}\n@keyframes ConnectionIndicator_reveal-third-dot {\n 0%, 66.65% {\n opacity: 0;\n }\n 66.66%, 100% {\n opacity: 1;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .ConnectionIndicator_indicator,\n .ConnectionIndicator_secondDot,\n .ConnectionIndicator_thirdDot {\n animation: none;\n }\n .ConnectionIndicator_indicator {\n transition: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/FileTypeIcon.module.css */\n.FileTypeIcon_icon {\n --dsh-file-type-violet: rgb(139, 118, 246);\n color: var(--dsh-file-type-icon-color, var(--dsh-file-type-default-color));\n}\n.FileTypeIcon_code {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-500);\n}\n.FileTypeIcon_excel {\n --dsh-file-type-default-color: var(--dsw-static-green-500);\n}\n.FileTypeIcon_folder {\n --dsh-file-type-default-color: var(--dsw-static-amber-400);\n}\n.FileTypeIcon_html {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-500);\n}\n.FileTypeIcon_image {\n --dsh-file-type-default-color: var(--dsh-file-type-violet);\n}\n.FileTypeIcon_markdown {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-500);\n}\n.FileTypeIcon_other {\n --dsh-file-type-default-color: var(--dsw-static-neutral-bluish-300);\n}\n.FileTypeIcon_pdf {\n --dsh-file-type-default-color: var(--dsw-static-red-600);\n}\n.FileTypeIcon_ppt {\n --dsh-file-type-default-color: var(--dsw-static-amber-500);\n}\n.FileTypeIcon_video {\n --dsh-file-type-default-color: var(--dsh-file-type-violet);\n}\n.FileTypeIcon_word {\n --dsh-file-type-default-color: var(--dsw-static-deepseek-450);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/user-text.module.css */\n.user_text_plainRun {\n font-size: inherit;\n line-height: inherit;\n}\n.user_text_refChip {\n display: inline;\n max-width: 100%;\n margin: 0 2px;\n color: var(--dsw-alias-state-business-primary);\n font-weight: 500;\n white-space: inherit;\n overflow-wrap: anywhere;\n text-align: inherit;\n}\n.user_text_slashChip {\n font-family: var(--dsw-font-markdown-code-font-family);\n}\n.user_text_refIcon {\n width: 1em;\n height: 1em;\n margin-right: 4px;\n vertical-align: -0.125em;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css */\n.MarkdownText_markdown {\n min-width: 0;\n overflow-wrap: anywhere;\n font: var(--dsw-font-markdown-base);\n color: var(--dsw-alias-label-primary);\n}\n.MarkdownText_markdown strong {\n font-weight: 600;\n}\n.MarkdownText_markdown h1 {\n font: var(--dsw-font-markdown-h1);\n margin: 32px 0 16px;\n}\n.MarkdownText_markdown h2 {\n font: var(--dsw-font-markdown-h2);\n margin: 32px 0 16px;\n}\n.MarkdownText_markdown h3 {\n font: var(--dsw-font-markdown-h3);\n margin: 32px 0 16px;\n}\n.MarkdownText_markdown h4 {\n font: var(--dsw-font-markdown-h4);\n margin: 16px 0;\n}\n.MarkdownText_markdown :where(h5, h6) {\n font: var(--dsw-font-markdown-base-strong);\n margin: 16px 0;\n}\n.MarkdownText_markdown :where(h1, h2, h3, h4, h5, h6) strong {\n font-weight: inherit;\n}\n.MarkdownText_markdown p {\n margin: 16px 0;\n}\n.MarkdownText_markdown :where(h4, h5, h6) + :where(ul, ol) {\n margin-top: 8px;\n}\n.MarkdownText_markdown :where(h4, h5, h6):has(+ :where(ul, ol)) {\n margin-bottom: 8px;\n}\n.MarkdownText_markdown a,\n.MarkdownText_markdown .MarkdownText_fileLink {\n color: var(--dsw-alias-link);\n font-weight: 500;\n transition: box-shadow var(--ds-transition-duration) var(--ds-ease-in-out);\n position: relative;\n text-decoration: none;\n border-left: 3px solid rgb(255 255 255 / 0);\n border-right: 3px solid rgb(255 255 255 / 0);\n border-top: 2px solid rgb(255 255 255 / 0);\n border-bottom: 2px solid rgb(255 255 255 / 0);\n margin-left: -3px;\n margin-right: -3px;\n}\n.MarkdownText_markdown a:hover,\n.MarkdownText_markdown a:focus {\n outline: none;\n text-decoration: underline dotted var(--dsw-alias-link);\n text-underline-offset: 3px;\n}\n.MarkdownText_markdown a:focus-visible,\n.MarkdownText_fileMention:focus-visible {\n box-shadow: 0 0 0 2px var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n}\n.MarkdownText_linkIcon {\n flex: none;\n width: 1.1em;\n height: 1.1em;\n vertical-align: -0.25em;\n margin-right: 5px;\n}\n.MarkdownText_markdown :where(ul, ol) {\n margin: 16px 0;\n padding-left: 18px;\n}\n.MarkdownText_markdown li:not(:first-child) {\n margin-top: 6px;\n}\n.MarkdownText_markdown li > :where(ul, ol) {\n margin-top: 4px;\n}\n.MarkdownText_markdown li::marker {\n line-height: 24px;\n color: var(--dsw-alias-label-secondary);\n}\n.MarkdownText_markdown :where(ul, ol) ol {\n list-style-position: inside;\n padding-left: 0;\n}\n.MarkdownText_markdown :where(ul, ol) ol li p {\n display: inline;\n}\n.MarkdownText_markdown li > p {\n margin: 8px 0;\n}\n.MarkdownText_markdown li > *:first-child {\n margin-top: 0;\n}\n.MarkdownText_markdown li > *:last-child:not(.md-code-block) {\n margin-bottom: 0;\n}\n.MarkdownText_markdown hr {\n display: block;\n border: none;\n height: 0.5px;\n margin: 32px 0;\n background: var(--dsw-alias-border-l2);\n}\n.MarkdownText_markdown blockquote {\n border-left: 2px solid var(--dsw-alias-label-caption);\n margin: 16px 0 0;\n padding-left: 14px;\n}\n.MarkdownText_markdown pre {\n margin: 16px 0;\n font-family: var(--ds-font-family-code);\n overflow: auto;\n}\n.MarkdownText_markdown :not(pre) > code {\n display: inline-flex;\n align-items: center;\n box-sizing: border-box;\n font: var(--dsw-font-markdown-code);\n font-family: var(--ds-font-family-code);\n font-size: 0.875em !important;\n background-color: var(--dsw-alias-markdown-inline-code);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-sm);\n padding: 0 5px;\n}\n.MarkdownText_markdown :where(h1, h2, h3, h4, h5, h6) code {\n font: inherit;\n font-family: var(--ds-font-family-code);\n}\n.MarkdownText_markdown .katex-display {\n max-width: 100%;\n overflow-x: auto;\n overflow-y: hidden;\n}\n.MarkdownText_markdown input[type=checkbox] {\n margin: 0 8px 0 0;\n accent-color: var(--dsw-alias-label-secondary);\n}\n.MarkdownText_tableScroll {\n max-width: 100%;\n overflow-x: auto;\n overscroll-behavior-x: contain;\n}\n.MarkdownText_tableScroll.md-table-wide {\n overflow-x: hidden;\n padding-bottom: var(--dsh-scrollbar-width, 5px);\n}\n.MarkdownText_tableScroll.md-table-wide:hover,\n.MarkdownText_tableScroll.md-table-wide:focus-visible {\n overflow-x: scroll;\n padding-bottom: 0;\n}\n.MarkdownText_tableScroll:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n}\n.MarkdownText_tableScroll table {\n border-collapse: collapse;\n width: max-content;\n max-width: max-content;\n}\n.MarkdownText_tableFill table {\n width: 100%;\n max-width: none;\n}\n.MarkdownText_tableScroll th {\n text-align: start;\n padding: 10px 16px;\n border-bottom: 0.5px solid var(--dsw-alias-border-l3);\n border-top: none;\n font: var(--dsw-font-markdown-table-head);\n max-width: 320px;\n max-width: min(30vw, 320px);\n min-width: 100px;\n}\n.MarkdownText_tableScroll td {\n padding: 10px 16px;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n font: var(--dsw-font-markdown-table);\n max-width: 320px;\n max-width: min(30vw, 320px);\n min-width: 100px;\n}\n.MarkdownText_tableScroll th:first-child,\n.MarkdownText_tableScroll td:first-child {\n padding-left: 0;\n}\n.MarkdownText_tableScroll td:last-child {\n padding-right: 0;\n}\n.MarkdownText_tableScroll table code {\n font-size: 11px;\n}\n.MarkdownText_markdown > *:first-child,\n.MarkdownText_markdown p:first-child {\n margin-top: 0 !important;\n}\n.MarkdownText_markdown > *:last-child,\n.MarkdownText_markdown p:last-child {\n margin-bottom: 0 !important;\n}\n.MarkdownText_imageAlt {\n color: var(--dsw-alias-label-tertiary);\n font-style: italic;\n}\n.MarkdownText_image {\n display: block;\n width: auto;\n max-width: 100%;\n height: auto;\n margin: 0;\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-base);\n object-fit: contain;\n}\n.MarkdownText_fileMention {\n margin: 0;\n padding: 0;\n border: none;\n background: none;\n font: inherit;\n font-weight: 500;\n color: var(--dsw-alias-link);\n text-decoration: none;\n cursor: pointer;\n}\n.MarkdownText_fileLink {\n max-width: 100%;\n text-align: inherit;\n}\n.MarkdownText_fileMention:hover,\n.MarkdownText_fileMention:focus {\n outline: none;\n text-decoration: underline dotted var(--dsw-alias-link);\n text-underline-offset: 3px;\n}\n.MarkdownText_compact {\n max-width: 100%;\n font-size: var(--dsh-content-font-size-secondary, 13px);\n line-height: calc(20px + var(--dsh-content-font-delta-secondary, 0px));\n color: var(--dsw-alias-label-tertiary);\n}\n.MarkdownText_compact :is(h1, h2, h3, h4, h5, h6) {\n margin: 8px 0 4px;\n font: inherit;\n font-weight: 600;\n color: inherit;\n}\n.MarkdownText_compact :is(p, ul, ol, blockquote) {\n margin: 4px 0;\n}\n.MarkdownText_compact li:not(:first-child) {\n margin-top: 2px;\n}\n.MarkdownText_compact li > p {\n margin: 4px 0;\n}\n.MarkdownText_compact li::marker {\n line-height: inherit;\n color: inherit;\n}\n.MarkdownText_compact blockquote {\n padding-left: 8px;\n}\n.MarkdownText_compact hr {\n margin: 8px 0;\n}\n.MarkdownText_compact a,\n.MarkdownText_compact .MarkdownText_fileMention {\n font-weight: inherit;\n color: inherit;\n text-decoration: underline dotted;\n}\n.MarkdownText_compact a:hover,\n.MarkdownText_compact a:focus,\n.MarkdownText_compact .MarkdownText_fileMention:hover,\n.MarkdownText_compact .MarkdownText_fileMention:focus {\n text-decoration-color: currentColor;\n}\n.MarkdownText_compact :not(pre) > code {\n display: inline;\n font: inherit;\n font-family: var(--ds-font-family-code);\n font-size: 1em !important;\n border-radius: var(--dsw-radius-xs);\n padding: 0 3px;\n box-decoration-break: clone;\n}\n.MarkdownText_markdown.MarkdownText_compact .md-code-block {\n margin: 4px 0;\n color: inherit;\n}\n.MarkdownText_compact .md-code-block > :has(> [data-code-block-banner]) {\n position: static;\n z-index: auto;\n}\n.MarkdownText_compact pre,\n.MarkdownText_compact pre :is(code, span) {\n color: inherit !important;\n}\n.MarkdownText_markdown.MarkdownText_compact .MarkdownText_tableScroll {\n width: 100%;\n max-width: 100%;\n margin: 4px 0;\n padding-left: 0;\n}\n.MarkdownText_markdown.MarkdownText_compact .MarkdownText_tableScroll > table {\n z-index: auto;\n}\n.MarkdownText_compact :is(th, td) {\n padding: 4px 8px;\n font: inherit;\n}\n.MarkdownText_compact th {\n font-weight: 600;\n}\n.MarkdownText_compact .katex {\n font-size: 1em;\n}\n.MarkdownText_compact :is(p, h1, h2, h3, h4, h5, h6, ul, ol):has(.katex) {\n overflow-x: auto;\n overflow-y: hidden;\n padding-bottom: 1px;\n}\n.MarkdownText_compact .katex-display {\n margin: 4px 0;\n}\n.MarkdownText_imageButton {\n display: inline-block;\n max-width: 100%;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: transparent;\n vertical-align: middle;\n cursor: zoom-in;\n}\n.MarkdownText_imageButton .MarkdownText_image {\n max-width: min(100%, 640px);\n max-height: 360px;\n}\n.MarkdownText_imageButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 3px;\n}\n.MarkdownText_previewName {\n display: block;\n margin-top: 8px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-secondary);\n font-size: 12px;\n line-height: 18px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css */\n.Tooltip_bubble {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n position: fixed;\n z-index: 100;\n width: max-content;\n max-width: 50vw;\n padding: 3px 7px;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-tooltip-bg);\n color: var(--dsw-static-neutral-bluish-00);\n font-size: 13px;\n line-height: 20px;\n white-space: pre-line;\n overflow-wrap: break-word;\n pointer-events: none;\n animation: Tooltip_tooltip-in 150ms var(--ds-ease-in-out);\n}\n.Tooltip_bubble[data-portal] {\n z-index: 1100;\n}\n.Tooltip_bubble[data-pinned] {\n pointer-events: auto;\n}\n.Tooltip_label {\n min-width: 0;\n}\n.Tooltip_bubble[data-has-shortcut] {\n padding-inline-end: 5px;\n}\n.Tooltip_bubble[data-has-shortcut]:not(:has(.Tooltip_label)) {\n padding: 3px;\n}\n.Tooltip_bubble[data-side=right] {\n transform: translateY(-50%);\n}\n.Tooltip_bubble[data-side=bottom] {\n transform: translateX(-50%);\n}\n.Tooltip_bubble[data-side=top] {\n transform: translate(-50%, -100%);\n}\n.Tooltip_bubble[data-side=bottom][data-align=end] {\n transform: translateX(-100%);\n}\n.Tooltip_bubble[data-side=top][data-align=end] {\n transform: translate(-100%, -100%);\n}\n@keyframes Tooltip_tooltip-in {\n from {\n opacity: 0;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .Tooltip_bubble {\n animation: none;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Toast.module.css */\n.Toast_toast {\n position: fixed;\n top: 40px;\n left: 50%;\n z-index: 1100;\n pointer-events: none;\n display: flex;\n align-items: center;\n gap: 10px;\n width: max-content;\n max-width: min(640px, calc(100vw - 48px));\n padding: 12px 16px;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-alias-toast-bg);\n color: var(--dsw-alias-toast-label);\n font-size: 14px;\n line-height: 22px;\n box-shadow: var(--dsw-shadow-lv3);\n transform: translateX(-50%);\n animation: Toast_dsh-toast-in 160ms ease-out, Toast_dsh-toast-fade 1000ms ease var(--dsh-toast-hold, 3000ms) forwards;\n}\n.Toast_icon {\n display: grid;\n place-items: center;\n flex: none;\n color: var(--dsw-alias-state-warn-label);\n}\n.Toast_icon.Toast_success {\n color: var(--dsw-alias-state-success-primary);\n}\n.Toast_text {\n min-width: 0;\n}\n.Toast_action {\n display: inline;\n padding: 0;\n border: 0;\n background: none;\n color: var(--dsw-static-deepseek-400);\n font: inherit;\n cursor: pointer;\n margin-inline: 3px;\n pointer-events: auto;\n}\n.Toast_action:hover {\n opacity: 0.8;\n}\n@keyframes Toast_dsh-toast-in {\n from {\n opacity: 0;\n transform: translate(-50%, -6px);\n }\n to {\n opacity: 1;\n transform: translate(-50%, 0);\n }\n}\n@keyframes Toast_dsh-toast-fade {\n to {\n opacity: 0;\n visibility: hidden;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .Toast_toast {\n animation: Toast_dsh-toast-fade 1000ms ease var(--dsh-toast-hold, 3000ms) forwards;\n }\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/settings-form/SettingsForm.module.css */\n.SettingsForm_form {\n display: flex;\n flex-direction: column;\n}\n.SettingsForm_readOnly,\n.SettingsForm_unavailable {\n margin: 0 0 12px;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n.SettingsForm_footer {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-top: 16px;\n}\n.SettingsForm_failed {\n flex: 1;\n min-width: 0;\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-error);\n}\n.SettingsForm_save {\n appearance: none;\n border: 1px solid transparent;\n border-radius: var(--dsw-radius-md);\n padding: 5px 14px;\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n cursor: pointer;\n background: var(--dsw-alias-label-primary);\n color: var(--dsw-alias-bg-layer-3);\n}\n.SettingsForm_save:disabled {\n opacity: 0.4;\n cursor: default;\n}\n.SettingsForm_save:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/settings-form/fields.module.css */\n.fields_field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 12px 0;\n}\n.fields_field + .fields_field {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.fields_head {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.fields_label {\n flex: 1;\n min-width: 0;\n font-size: 13px;\n font-weight: 500;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n.fields_labelGroup {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: 1;\n min-width: 0;\n}\n.fields_labelGroup > .fields_label {\n flex: 0 1 auto;\n}\n.fields_helpButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: none;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n background: none;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n}\n.fields_helpButton:hover,\n.fields_helpButton[aria-expanded=true] {\n background: var(--dsw-alias-bg-layer-4);\n color: var(--dsw-alias-label-secondary);\n}\n.fields_helpButton:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n.fields_help {\n padding: 10px 0 0;\n font-size: 12px;\n line-height: 1.6;\n color: var(--dsw-alias-label-secondary);\n}\n.fields_help > p {\n margin: 0;\n}\n.fields_help > p + p {\n margin-top: 8px;\n}\n.fields_badges {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.fields_reset {\n border: none;\n background: none;\n padding: 0;\n font: inherit;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n}\n.fields_reset:hover:not(:disabled) {\n color: var(--dsw-alias-label-primary);\n}\n.fields_reset:disabled {\n cursor: default;\n}\n.fields_input {\n height: 34px;\n padding: 0 12px;\n border: 0.5px solid var(--dsw-alias-border-l4);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-3);\n font: inherit;\n font-size: 13px;\n line-height: 1.5;\n color: var(--dsw-alias-label-primary);\n}\n.fields_input:focus-visible {\n outline: none;\n border-color: var(--dsw-alias-state-business-primary);\n}\n.fields_input:disabled {\n color: var(--dsw-alias-label-tertiary);\n cursor: default;\n}\n.fields_input[aria-invalid=true] {\n border-color: var(--dsw-alias-state-error-primary);\n}\n.fields_invalid {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-state-error-primary);\n}\n.fields_hint {\n margin: 0;\n font-size: 12px;\n line-height: 1.5;\n color: var(--dsw-alias-label-tertiary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/JsonTree.module.css */\n.JsonTree_root {\n --json-tree-property: #881391;\n --json-tree-string: #c41a16;\n --json-tree-number: #1c00cf;\n --json-tree-keyword: #1c00cf;\n --json-tree-punctuation: #202124;\n --json-tree-icon: #5f6368;\n --json-tree-hover: rgb(60 64 67 / 4%);\n min-width: 0;\n overflow: auto;\n position: relative;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-layer-1);\n font: 12px/16px var(--ds-font-family-code);\n overscroll-behavior-x: contain;\n overscroll-behavior-y: auto;\n}\nbody[data-ds-dark-theme] .JsonTree_root {\n --json-tree-property: #5db0d7;\n --json-tree-string: #f28b82;\n --json-tree-number: #99c8ff;\n --json-tree-keyword: #99c8ff;\n --json-tree-punctuation: #e8eaed;\n --json-tree-icon: #9aa0a6;\n --json-tree-hover: rgb(232 234 237 / 5%);\n}\n.JsonTree_container {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n margin: 0;\n padding: 6px 8px 8px 8px;\n white-space: pre;\n}\n.JsonTree_expandedTopLevel {\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n padding: 6px 8px 8px 14px;\n}\n.JsonTree_expandedTopLevel:has(> .JsonTree_topLevelBracket[data-json-root-row]:hover),\n.JsonTree_expandedTopLevel:has(> .JsonTree_topLevelBracket[data-json-root-row][data-json-copy-active]) {\n background: var(--json-tree-hover);\n}\n.JsonTree_expandedTopLevelContainer {\n padding: 0;\n}\n.JsonTree_row.JsonTree_topLevelBracket {\n margin-left: 0;\n padding-left: 0;\n}\n.JsonTree_children {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n.JsonTree_row {\n position: relative;\n box-sizing: border-box;\n min-width: 0;\n min-height: 16px;\n margin: 0;\n padding: 0 0 0 10px;\n list-style: none;\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n.JsonTree_row:not(.JsonTree_topLevelBracket):hover:not(:has(.JsonTree_row:hover))::after,\n.JsonTree_row:not(.JsonTree_topLevelBracket)[data-json-copy-active]::after,\n.JsonTree_row:has(> .JsonTree_expander:focus-visible)::after {\n position: absolute;\n z-index: 0;\n top: 0;\n right: 0;\n left: 0;\n height: var(--json-tree-row-height, 16px);\n background: var(--json-tree-hover);\n content: \"\";\n pointer-events: none;\n}\n.JsonTree_row > span:not(.JsonTree_expander, .JsonTree_copySlot) {\n position: relative;\n z-index: 1;\n}\n.JsonTree_label {\n margin-right: 3px;\n color: var(--json-tree-property);\n font-weight: 400;\n}\n.JsonTree_clickableLabel {\n cursor: pointer;\n}\n.JsonTree_stringValue {\n color: var(--json-tree-string);\n}\n.JsonTree_stringField {\n position: relative;\n z-index: 1;\n display: flow-root;\n}\n.JsonTree_stringText {\n display: block;\n max-height: calc(var(--json-tree-collapsed-lines) * 16px);\n padding-left: 12px;\n overflow: hidden;\n text-indent: -12px;\n word-break: break-all;\n}\n.JsonTree_stringRaw {\n margin: 4px 0 0 12px;\n overflow: auto;\n color: var(--dsw-alias-label-primary);\n font: inherit;\n overflow-wrap: normal;\n white-space: pre;\n word-break: normal;\n}\n.JsonTree_stringActions {\n position: absolute;\n top: 1px;\n right: 4px;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: 4px;\n width: fit-content;\n height: 16px;\n}\n.JsonTree_stringRaw[data-wrap=true] {\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n word-break: break-all;\n}\n.JsonTree_stringActions > .JsonTree_copySlot {\n opacity: 1;\n pointer-events: auto;\n}\n.JsonTree_stringToggleSlot {\n display: flex;\n float: right;\n align-items: flex-end;\n height: calc(var(--json-tree-collapsed-lines) * 16px);\n margin-left: 2px;\n shape-outside: inset(calc((var(--json-tree-collapsed-lines) - 1) * 16px) 0 0);\n pointer-events: none;\n}\n.JsonTree_stringToggle {\n display: inline-flex;\n align-items: baseline;\n gap: 2px;\n margin: 0;\n padding: 0;\n border: 0;\n color: var(--dsw-alias-label-secondary);\n background: transparent;\n font: inherit;\n text-indent: 0;\n white-space: nowrap;\n cursor: pointer;\n pointer-events: auto;\n}\n.JsonTree_stringToggle:hover {\n color: var(--dsw-alias-label-primary);\n}\n.JsonTree_stringToggle:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 1px;\n}\n.JsonTree_row:has(> .JsonTree_stringField) {\n --json-tree-row-height: 100%;\n}\n.JsonTree_summary {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.JsonTree_numberValue {\n color: var(--json-tree-number);\n}\n.JsonTree_keywordValue {\n color: var(--json-tree-keyword);\n}\n.JsonTree_otherValue {\n color: var(--dsw-alias-label-secondary);\n}\n.JsonTree_punctuation {\n color: var(--json-tree-punctuation);\n}\n.JsonTree_preview {\n color: var(--json-tree-punctuation);\n}\n.JsonTree_previewProperty {\n color: var(--json-tree-punctuation);\n}\n.JsonTree_previewEllipsis {\n color: var(--dsw-alias-label-tertiary);\n}\n.JsonTree_copySlot {\n display: inline-flex;\n width: 20px;\n height: 16px;\n opacity: 0;\n pointer-events: none;\n}\n.JsonTree_row > .JsonTree_copySlot {\n position: absolute;\n z-index: 2;\n top: 0;\n right: 0;\n}\n.JsonTree_row:has(> .JsonTree_stringField) > .JsonTree_copySlot {\n top: auto;\n bottom: 0;\n}\n.JsonTree_row:has(> .JsonTree_copySlot) > .JsonTree_stringField .JsonTree_stringToggleSlot {\n padding-right: 24px;\n}\n.JsonTree_row:hover:not(:has(.JsonTree_row:hover)) > .JsonTree_copySlot,\n.JsonTree_row[data-json-copy-active] > .JsonTree_copySlot,\n.JsonTree_copySlot:focus-within {\n opacity: 1;\n pointer-events: auto;\n}\n.JsonTree_actionButton {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 16px;\n margin: 0;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-xs);\n color: var(--dsw-alias-label-secondary);\n background: transparent;\n cursor: pointer;\n}\n.JsonTree_actionButton:hover {\n color: var(--dsw-alias-label-primary);\n}\n.JsonTree_actionButton[aria-pressed=true] {\n color: var(--dsw-alias-state-business-primary);\n}\n.JsonTree_actionButton:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -1px;\n}\n.JsonTree_actionButton[data-state=failed] {\n color: var(--dsw-alias-state-error-primary);\n}\n.JsonTree_expander {\n position: absolute;\n z-index: 2;\n top: 0;\n left: 0;\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n box-sizing: border-box;\n width: 8px;\n height: 16px;\n margin: 0;\n color: var(--json-tree-icon);\n cursor: pointer;\n user-select: none;\n}\n.JsonTree_expander::before {\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 6px solid currentColor;\n content: \"\";\n transform: scale(0.75);\n transform-origin: 33.333% center;\n}\n.JsonTree_collapseIcon::before {\n transform: rotate(90deg) scale(0.75);\n}\n.JsonTree_expander:hover {\n color: var(--dsw-alias-label-primary);\n}\n.JsonTree_expander:focus-visible {\n outline: none;\n}\n.JsonTree_collapsedContent {\n margin: 0 1px;\n color: var(--json-tree-punctuation);\n cursor: pointer;\n}\n.JsonTree_collapsedContent::after {\n content: \"\\2026\";\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TerminalBlock.module.css */\n.TerminalBlock_block {\n --dsl-terminal-radius: var(--dsw-radius-lg);\n --dsl-terminal-line-height: 22px;\n --dsl-terminal-font: var(--dsw-font-markdown-code-block);\n --dsl-terminal-gutter: 30px;\n position: relative;\n margin: 16px 0;\n padding-left: var(--dsl-terminal-gutter);\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsl-terminal-radius);\n overflow: hidden;\n}\n.TerminalBlock_header {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-left: calc(-1 * var(--dsl-terminal-gutter));\n padding: 9px 14px 9px var(--dsl-terminal-gutter);\n border-top-left-radius: var(--dsl-terminal-radius);\n border-top-right-radius: var(--dsl-terminal-radius);\n max-height: 150px;\n overflow-y: auto;\n}\n.TerminalBlock_header::-webkit-scrollbar-thumb {\n border: 2px solid transparent;\n background-clip: padding-box;\n border-radius: var(--dsw-radius-sm);\n}\n.TerminalBlock_header::-webkit-scrollbar-track {\n margin: 6px;\n}\n.TerminalBlock_block[data-body] .TerminalBlock_header {\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n.TerminalBlock_prompt {\n display: flex;\n flex-direction: column;\n min-width: 0;\n flex: 1;\n font: var(--dsl-terminal-font);\n}\n.TerminalBlock_promptLine {\n position: relative;\n display: flex;\n align-items: baseline;\n gap: 8px;\n min-width: 0;\n line-height: var(--dsl-terminal-line-height);\n}\n.TerminalBlock_runState {\n position: absolute;\n left: calc(-1 * var(--dsl-terminal-gutter) + 8px);\n top: calc(var(--dsl-terminal-line-height) / 2);\n transform: translateY(-50%);\n}\n.TerminalBlock_runStateLabel {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.TerminalBlock_cwd {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n.TerminalBlock_command {\n --dsl-command-whitespace: var(--dsl-terminal-command-whitespace, pre);\n color: var(--dsw-alias-label-primary);\n}\n.TerminalBlock_status {\n flex: none;\n position: sticky;\n top: 0;\n height: var(--dsl-terminal-line-height);\n color: var(--dsw-alias-state-error-primary);\n}\n.TerminalBlock_copyButton {\n flex: none;\n position: sticky;\n top: 0;\n background-color: var(--dsw-alias-markdown-code-block);\n border: none;\n padding: 0;\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-xs-13);\n line-height: var(--dsl-terminal-line-height);\n}\n.TerminalBlock_output {\n max-height: var(--dsl-terminal-output-max-height, none);\n padding: 12px 14px 12px 0;\n font: var(--dsl-terminal-font);\n overflow-x: auto;\n overflow-y: auto;\n}\n.TerminalBlock_output::-webkit-scrollbar-thumb {\n border: 2px solid transparent;\n background-clip: padding-box;\n border-radius: var(--dsw-radius-sm);\n}\n.TerminalBlock_output::-webkit-scrollbar-track {\n margin: 6px;\n}\n.TerminalBlock_line {\n min-height: var(--dsl-terminal-line-height);\n white-space: var(--dsl-terminal-line-whitespace, pre);\n overflow-wrap: anywhere;\n}\n.TerminalBlock_expand {\n display: block;\n width: 100%;\n padding: 0;\n border: none;\n background-color: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.TerminalBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n.TerminalBlock_empty {\n padding: 12px 14px 12px 0;\n font: var(--dsl-terminal-font);\n color: var(--dsw-alias-label-tertiary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/CommandText.module.css */\n.CommandText_text {\n display: block;\n min-width: 0;\n overflow-x: auto;\n white-space: var(--dsl-command-whitespace, pre);\n overflow-wrap: anywhere;\n}\n.CommandText_text:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: -2px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/CodeCard.module.css */\n.CodeCard_card {\n position: relative;\n margin: 16px 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsw-radius-lg);\n font: var(--dsw-font-markdown-code-block);\n}\n.CodeCard_header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 10px 18px 8px 22px;\n background: var(--dsl-code-block-background, var(--dsw-alias-markdown-code-block));\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n color: var(--dsw-alias-label-secondary);\n font: 11px/18px var(--dsw-font-family);\n}\n.CodeCard_heading {\n display: flex;\n align-items: baseline;\n gap: 12px;\n min-width: 0;\n}\n.CodeCard_language {\n color: var(--dsw-alias-label-tertiary);\n flex: none;\n font-family: var(--ds-font-family-code);\n}\n.CodeCard_title {\n color: var(--dsw-alias-label-tertiary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.CodeCard_actions {\n display: flex;\n align-items: center;\n gap: 4px;\n flex: none;\n}\n.CodeCard_status {\n margin-right: 8px;\n color: var(--dsw-alias-label-tertiary);\n white-space: nowrap;\n}\n.CodeCard_action {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: 0;\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n background: transparent;\n cursor: pointer;\n}\n.CodeCard_action:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.CodeCard_action:focus-visible {\n outline: 1px solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 2px;\n}\n.CodeCard_body {\n padding: 6px 22px 20px;\n font: var(--dsw-font-markdown-code-block);\n overflow-x: auto;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ReadBlock.module.css */\n.ReadBlock_line {\n display: flex;\n min-height: 1lh;\n white-space: pre;\n}\n.ReadBlock_gutter {\n flex: none;\n width: var(--dsl-read-gutter);\n margin-right: 12px;\n text-align: right;\n color: var(--dsw-alias-label-tertiary);\n user-select: none;\n}\n.ReadBlock_content {\n min-width: 0;\n color: var(--dsw-alias-label-primary);\n}\n.ReadBlock_block[data-code-wrap=true] .ReadBlock_line {\n white-space: pre-wrap;\n}\n.ReadBlock_block[data-code-wrap=true] .ReadBlock_content {\n overflow-wrap: anywhere;\n}\n.ReadBlock_expand {\n display: block;\n width: 100%;\n padding: 0 0 0 calc(var(--dsl-read-gutter) + 12px);\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.ReadBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css */\n.DiffBlock_block {\n overflow: hidden;\n}\n.DiffBlock_body {\n display: grid;\n grid-template-columns: minmax(max-content, 1fr);\n padding: 6px 0 20px;\n font: var(--dsw-font-markdown-code-block);\n overflow-x: auto;\n}\n.DiffBlock_line {\n box-sizing: border-box;\n min-height: 1lh;\n padding: 0 22px;\n white-space: pre;\n}\n.DiffBlock_block[data-code-wrap=true] .DiffBlock_body {\n grid-template-columns: minmax(0, 1fr);\n}\n.DiffBlock_block[data-code-wrap=true] .DiffBlock_line {\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n}\n.DiffBlock_path {\n color: var(--dsw-alias-label-secondary);\n font-weight: 500;\n}\n.DiffBlock_gap {\n color: var(--dsw-alias-label-tertiary);\n}\n.DiffBlock_del::before {\n content: \"- \";\n}\n.DiffBlock_del {\n color: var(--dsw-alias-state-error-primary);\n background: var(--dsw-alias-code-diff-deleted);\n box-shadow: inset 3px 0 0 var(--dsw-alias-state-error-primary);\n}\n.DiffBlock_add::before {\n content: \"+ \";\n}\n.DiffBlock_add {\n color: var(--dsw-alias-state-success-primary);\n background: var(--dsw-alias-code-diff-added);\n box-shadow: inset 3px 0 0 var(--dsw-alias-state-success-primary);\n}\n.DiffBlock_context {\n color: var(--dsw-alias-label-secondary);\n}\n.DiffBlock_context::before {\n content: \" \";\n}\n.DiffBlock_expand {\n display: block;\n width: 100%;\n padding: 0 22px;\n border: none;\n background: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.DiffBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SearchBlock.module.css */\n.SearchBlock_block {\n --dsl-search-radius: var(--dsw-radius-lg);\n --dsl-search-line-height: 22px;\n position: relative;\n margin: 16px 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsl-search-radius);\n}\n.SearchBlock_header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 9px 14px;\n background: var(--dsw-alias-markdown-code-block-banner);\n border-top-left-radius: var(--dsl-search-radius);\n border-top-right-radius: var(--dsl-search-radius);\n}\n.SearchBlock_summary {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font: var(--dsw-font-xs-13);\n color: var(--dsw-alias-label-secondary);\n}\n.SearchBlock_copyButton {\n flex: none;\n background-color: transparent;\n border: none;\n padding: 0;\n margin: 0;\n color: var(--dsw-alias-label-secondary);\n cursor: pointer;\n font: var(--dsw-font-xs-13);\n}\n.SearchBlock_body {\n padding: 8px 14px 12px 0;\n font: var(--dsw-font-markdown-code-block);\n overflow-x: auto;\n overflow-y: hidden;\n}\n.SearchBlock_line {\n min-height: var(--dsl-search-line-height);\n padding-left: 14px;\n white-space: pre;\n}\n.SearchBlock_lineNumber {\n color: var(--dsw-alias-label-tertiary);\n}\n.SearchBlock_fileHeader {\n display: flex;\n align-items: baseline;\n gap: 8px;\n width: 100%;\n min-height: var(--dsl-search-line-height);\n padding: 0 14px;\n border: none;\n background-color: transparent;\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.SearchBlock_filePath {\n min-width: 0;\n font-weight: 600;\n color: var(--dsw-alias-label-primary);\n white-space: pre;\n}\n.SearchBlock_fileCount {\n flex: none;\n color: var(--dsw-alias-label-tertiary);\n}\n.SearchBlock_expand {\n display: block;\n width: 100%;\n padding: 0 14px;\n border: none;\n background-color: transparent;\n color: var(--dsw-alias-label-tertiary);\n cursor: pointer;\n font: inherit;\n text-align: left;\n}\n.SearchBlock_expand:hover {\n color: var(--dsw-alias-label-secondary);\n}\n.SearchBlock_empty {\n padding: 12px 14px;\n font: var(--dsw-font-markdown-code-block);\n color: var(--dsw-alias-label-tertiary);\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css */\n.CodeBlock_block {\n --dsl-code-block-banner-background-color: var(--dsw-alias-markdown-code-block-banner);\n --dsl-code-block-border-radius: var(--dsw-radius-lg);\n --dsl-code-block-banner-font: 11px/18px var(--dsw-font-family);\n --dsl-code-block-content-font: var(--dsw-font-markdown-code-block);\n --dsl-code-block-background: var(--dsw-alias-markdown-code-block);\n position: relative;\n margin: 16px 0;\n color: var(--dsw-alias-label-primary);\n background: var(--dsl-code-block-background);\n border-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_block:not(:last-child) {\n margin-bottom: 11px;\n}\n.CodeBlock_bannerWrap {\n position: sticky;\n top: 0;\n z-index: 6;\n background-color: var(--dsw-alias-bg-base);\n border-top-left-radius: var(--dsl-code-block-border-radius);\n border-top-right-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_banner {\n background: var(--dsl-code-block-banner-background-color);\n padding: 9px 14px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n font: var(--dsl-code-block-banner-font);\n border-top-left-radius: var(--dsl-code-block-border-radius);\n border-top-right-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_infostring {\n color: var(--dsw-alias-label-primary);\n font-family: var(--ds-font-family-code);\n font-size: 11px;\n line-height: 18px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.CodeBlock_action {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n.CodeBlock_copyButton {\n background-color: rgb(255 255 255 / 0);\n border: none;\n padding: 0;\n margin: 0;\n color: inherit;\n cursor: pointer;\n font: inherit;\n}\n.CodeBlock_content {\n display: contents;\n}\n.CodeBlock_block :where(pre) {\n font: var(--dsl-code-block-content-font);\n padding: 16px;\n margin: 0 !important;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-all;\n background: var(--dsl-code-block-background);\n border-bottom-left-radius: var(--dsl-code-block-border-radius);\n border-bottom-right-radius: var(--dsl-code-block-border-radius);\n}\n.CodeBlock_block :where(pre.CodeBlock_shiki) {\n background: var(--dsl-code-block-background) !important;\n}\n.CodeBlock_block :where(pre) code {\n font: inherit;\n background: none;\n padding: 0;\n}\n.CodeBlock_plain {\n color: var(--dsw-alias-label-primary);\n}\n.CodeBlock_card :where(pre) {\n padding: 6px 22px 20px;\n word-break: normal;\n overflow-wrap: anywhere;\n}\n.CodeBlock_card[data-code-wrap=false] {\n --dsl-code-block-line-white-space: pre;\n}\n.CodeBlock_card[data-code-wrap=false] :where(pre) {\n white-space: pre;\n overflow-wrap: normal;\n}\n.CodeBlock_numbered :where(pre) code {\n display: block;\n counter-reset: source-line;\n white-space: normal;\n}\n.CodeBlock_numbered :where(pre) code > .line {\n position: relative;\n display: block;\n min-height: 1lh;\n padding-inline-start: calc(var(--dsl-code-block-line-number-width) + 12px);\n counter-increment: source-line;\n white-space: var(--dsl-code-block-line-white-space, pre-wrap);\n}\n.CodeBlock_numbered :where(pre) code > .line::before {\n position: absolute;\n inset-inline-start: 0;\n width: var(--dsl-code-block-line-number-width);\n color: var(--dsw-alias-label-tertiary);\n text-align: end;\n content: counter(source-line);\n user-select: none;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css */\n.ImageLightbox_backdrop {\n position: fixed;\n inset: 0;\n z-index: 1000;\n}\n.ImageLightbox_stage {\n position: absolute;\n inset: var(--dsh-frame-chrome-top, 0px) 0 0;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px;\n}\n.ImageLightbox_mask {\n position: absolute;\n inset: 0;\n background: var(--dsw-alias-bg-mask-1);\n backdrop-filter: var(--dsw-mask-blur);\n}\n.ImageLightbox_image {\n position: relative;\n max-width: min(100%, 1600px);\n max-height: 100%;\n object-fit: contain;\n border-radius: var(--dsw-radius-lg);\n background: var(--dsw-specific-input-major);\n border: 0;\n box-shadow: var(--dsw-elevation-prominent);\n}\n.ImageLightbox_close {\n position: absolute;\n top: 20px;\n right: 20px;\n z-index: 1;\n display: grid;\n place-items: center;\n width: 36px;\n height: 36px;\n border: 0.5px solid var(--dsw-alias-border-l2-darkmode-thin);\n border-radius: 999px;\n corner-shape: round;\n background: var(--dsw-specific-input-major);\n color: var(--dsw-alias-label-primary);\n cursor: pointer;\n}\n.ImageLightbox_close:focus-visible {\n outline: var(--dsw-focus-ring-width) solid var(--dsw-focus-ring-color, var(--dsw-alias-state-business-primary));\n outline-offset: 3px;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css */\n.ImagePreview_frame {\n position: relative;\n display: grid;\n place-items: center;\n width: 100%;\n height: 180px;\n overflow: hidden;\n border-radius: var(--dsw-radius-sm);\n background: var(--dsw-alias-bg-base);\n}\n.ImagePreview_image {\n width: 100%;\n height: 100%;\n min-height: 0;\n object-fit: contain;\n opacity: 0;\n}\n.ImagePreview_image[data-ready] {\n opacity: 1;\n}\n.ImagePreview_status {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 12px;\n color: var(--dsw-alias-label-tertiary);\n font-size: 12px;\n line-height: 18px;\n}\n\n/* unused-math:unused-math */\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/WebBlock.module.css */\n.WebBlock_block {\n --dsl-web-radius: var(--dsw-radius-lg);\n margin: 16px 0;\n padding: 12px 14px;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-markdown-code-block);\n border-radius: var(--dsl-web-radius);\n}\n.WebBlock_answer {\n margin-bottom: 8px;\n}\n.WebBlock_answer > div > :first-child {\n margin-top: 0;\n}\n.WebBlock_answer > div > :last-child {\n margin-bottom: 0;\n}\n.WebBlock_sources {\n margin: 0;\n padding-left: 2.5em;\n display: flex;\n flex-direction: column;\n gap: 10px;\n max-height: 320px;\n overflow-y: auto;\n}\n.WebBlock_source {\n min-width: 0;\n}\n.WebBlock_sourceLink {\n color: var(--dsw-alias-link);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n word-break: break-word;\n text-decoration: none;\n}\n.WebBlock_linkIcon {\n width: 1.1em;\n height: 1.1em;\n vertical-align: -0.25em;\n margin-right: 5px;\n}\n.WebBlock_sourceLink:hover,\n.WebBlock_sourceLink:focus-visible {\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n}\n.WebBlock_snippet {\n margin-top: 2px;\n color: var(--dsw-alias-label-secondary);\n font-size: 13px;\n line-height: 19px;\n word-break: break-word;\n}\n.WebBlock_published {\n margin-top: 2px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_truncated {\n margin-top: 8px;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_empty {\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_fetch {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.WebBlock_fetchUrl {\n color: var(--dsw-alias-link);\n font-family: var(--ds-font-family-code);\n font-size: 13px;\n font-weight: 500;\n line-height: 19px;\n word-break: break-all;\n text-decoration: none;\n}\n.WebBlock_fetchUrl:hover,\n.WebBlock_fetchUrl:focus-visible {\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n}\n.WebBlock_fetchMeta {\n display: flex;\n align-items: baseline;\n gap: 12px;\n}\n.WebBlock_status {\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-13);\n}\n.WebBlock_fetch .WebBlock_truncated {\n margin-top: 0;\n}\n\n/* node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/JsonBlock.module.css */\n.JsonBlock_root {\n margin: 4px 0;\n}\n.JsonBlock_toggle {\n font-size: 12px;\n line-height: 18px;\n color: var(--dsw-alias-label-secondary);\n padding: 2px 6px;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--dsw-radius-sm);\n}\n.JsonBlock_toggle:hover {\n background: var(--dsw-alias-interactive-bg-hover);\n}\n.JsonBlock_body {\n margin: 4px 0 0;\n padding: 8px;\n max-height: 200px;\n overflow: auto;\n background: var(--dsw-alias-markdown-code-block);\n border: 0.5px solid var(--dsw-alias-border-l1);\n border-radius: var(--dsw-radius-lg);\n font-family: var(--ds-font-family-code);\n font-size: 11px;\n line-height: 16px;\n color: var(--dsw-alias-label-primary);\n}\n\n/* Layout only: official Harness primitives own control sizes and appearance. */\n.mv-panel {\n --mv-top: 22px;\n height: 100%;\n min-width: 0;\n min-height: 0;\n overflow: hidden;\n color: var(--dsw-alias-label-primary);\n background: var(--dsw-alias-bg-base);\n font: var(--dsw-font-xs-13);\n container: mv-panel / inline-size;\n}\n.mv-panel *,\n.mv-dialog-content * {\n box-sizing: border-box;\n}\n.mv-panel :where(h1, h2, p),\n.mv-dialog-content p {\n margin: 0;\n}\n.mv-panel h1 {\n font: var(--dsw-font-l-20);\n}\n.mv-panel h2 {\n font: var(--dsw-font-s-strong-14);\n}\n.mv-panel strong,\n.mv-dialog-content strong {\n font-weight: var(--dsw-font-xs-strong-13-font-weight);\n}\n.mv-panel svg {\n flex-shrink: 0;\n}\n.mv-shell {\n display: grid;\n grid-template-columns: 176px minmax(0, 1fr);\n height: 100%;\n min-height: 0;\n}\n.mv-navigation {\n display: flex;\n flex-direction: column;\n gap: 24px;\n padding: var(--mv-top) 12px 12px;\n border-right: 0.5px solid var(--dsw-alias-border-l2);\n background: var(--dsw-alias-bg-module-platform);\n min-height: 0;\n}\n.mv-navigation-header,\n.mv-brand {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.mv-navigation-header {\n justify-content: space-between;\n}\n.mv-brand {\n padding-left: 8px;\n font: var(--dsw-font-s-strong-14);\n}\n.mv-navigation nav {\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: 24px;\n overflow-y: auto;\n}\n.mv-navigation-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.mv-panel .mv-navigation-label {\n padding: 0 8px 4px;\n font: var(--dsw-font-xxs-12);\n color: var(--dsw-alias-label-tertiary);\n}\n.mv-panel .mv-navigation-item {\n width: 100%;\n justify-content: flex-start;\n}\n.mv-navigation-item[aria-current='page'] {\n background: var(--dsw-alias-interactive-bg-active);\n}\n.mv-navigation-footer {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n gap: 8px;\n min-width: 0;\n padding: 12px 8px 4px;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-navigation-footer-mark {\n display: grid;\n place-items: center;\n flex-shrink: 0;\n width: 28px;\n height: 28px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-sm);\n color: var(--dsw-alias-label-secondary);\n background: var(--dsw-alias-bg-layer-2);\n}\n.mv-navigation-footer-copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n}\n.mv-navigation-footer-title {\n color: var(--dsw-alias-label-secondary);\n font: var(--dsw-font-xs-strong-13);\n}\n.mv-navigation-footer-description {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: var(--dsw-alias-label-tertiary);\n font: var(--dsw-font-xxs-12);\n}\n.mv-feature-content {\n min-width: 0;\n min-height: 0;\n padding-inline: 24px;\n container: mv-workspace / inline-size;\n}\n.mv-feature {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 0;\n min-height: 0;\n}\n.mv-page-top {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 16px;\n padding: var(--mv-top) 0 20px;\n flex-shrink: 0;\n}\n.mv-page-top p {\n margin-top: 4px;\n}\n.mv-page-top > div:first-child {\n min-width: 0;\n}\n.mv-page-top > .mv-actions {\n flex-shrink: 0;\n}\n[data-platform='darwin'] .mv-panel {\n --mv-top: 56px;\n}\n[data-windows-titlebar] .mv-panel {\n --mv-top: max(12px, calc(var(--dsh-windows-titlebar-height) + 8px));\n}\n[data-platform='darwin']:not([data-fullscreen])\n [data-sidebar-collapsed]\n :is(.mv-navigation, .mv-page-top) {\n padding-top: max(var(--mv-top), var(--dsh-frame-top-clearance, 0px));\n}\n.mv-scroll {\n overflow-y: auto;\n min-height: 0;\n flex: 1;\n padding-bottom: 24px;\n}\n.mv-actions,\n.mv-section-heading {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.mv-actions {\n flex-wrap: wrap;\n}\n.mv-section-heading {\n justify-content: space-between;\n}\n.mv-muted {\n color: var(--dsw-alias-label-secondary);\n}\n.mv-small {\n font: var(--dsw-font-xxs-12);\n}\n.mv-min-width {\n min-width: 0;\n}\n.mv-wrap {\n overflow-wrap: anywhere;\n white-space: pre-wrap;\n}\n.mv-ellipsis {\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.mv-field {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-width: 0;\n}\n.mv-field label {\n font: var(--dsw-font-xs-strong-13);\n}\n.mv-field > span {\n width: 100%;\n}\n.mv-link-form {\n max-width: 960px;\n margin: 0;\n}\n.mv-link-row {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.mv-link-row > span {\n flex: 1;\n min-width: 0;\n}\n.mv-select {\n min-width: 0;\n}\n.mv-clipboard-input > span {\n width: 100%;\n}\n.mv-select > button {\n width: 100%;\n justify-content: space-between;\n}\n.mv-media-result {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 20px;\n margin-top: 24px;\n padding: 20px;\n max-width: 960px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-bg-layer-1);\n}\n.mv-media-identity {\n display: flex;\n align-items: center;\n gap: 16px;\n width: 100%;\n}\n.mv-media-identity p {\n margin: 8px 0;\n}\n.mv-cover {\n width: 192px;\n aspect-ratio: 16/9;\n object-fit: cover;\n border-radius: var(--dsw-radius-md);\n flex-shrink: 0;\n}\n.mv-cover-placeholder {\n display: grid;\n place-items: center;\n background: var(--dsw-alias-bg-layer-2);\n color: var(--dsw-alias-label-tertiary);\n}\n.mv-form-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 16px;\n width: 100%;\n}\n.mv-result-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 16px;\n width: 100%;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n padding-top: 16px;\n}\n.mv-empty {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 12px;\n padding: 64px 16px;\n text-align: center;\n}\n.mv-empty > svg,\n.mv-empty > p {\n color: var(--dsw-alias-label-secondary);\n}\n.mv-empty > p {\n max-width: 400px;\n}\n.mv-error,\n.mv-notice {\n padding: 12px;\n margin-block: 12px;\n border-radius: var(--dsw-radius-md);\n font: var(--dsw-font-xs-13);\n background: var(--dsw-alias-bg-layer-2);\n overflow-wrap: anywhere;\n}\n.mv-error,\n.mv-error-text {\n color: var(--dsw-alias-state-error-primary);\n}\n.mv-notice {\n color: var(--dsw-alias-label-secondary);\n}\n.mv-list-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n padding-bottom: 12px;\n flex-shrink: 0;\n}\n.mv-list-toolbar > span:first-child {\n flex: 1;\n min-width: 0;\n}\n.mv-task-list {\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-task-row {\n display: flex;\n gap: 12px;\n padding: 16px 0;\n border-bottom: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-task-icon {\n display: grid;\n place-items: center;\n flex-shrink: 0;\n width: 16px;\n height: 22px;\n}\n.mv-task-content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mv-task-heading {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.mv-task-actions {\n align-self: center;\n justify-content: flex-end;\n flex-shrink: 0;\n}\n.mv-completed-row {\n align-items: center;\n}\n.mv-task-select > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.mv-delete-files {\n max-height: 40vh;\n overflow: auto;\n padding-left: 20px;\n}\n.mv-delete-files li + li {\n margin-top: 12px;\n}\n.mv-task-thumbnail {\n width: 96px;\n aspect-ratio: 16 / 9;\n border-radius: var(--dsw-radius-md);\n flex-shrink: 0;\n overflow: hidden;\n}\n.mv-task-thumbnail img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.mv-task-progress {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mv-task-progress progress {\n width: 100%;\n height: 4px;\n border: 0;\n border-radius: var(--dsw-radius-xs);\n overflow: hidden;\n appearance: none;\n background: var(--dsw-alias-bg-layer-2);\n color: var(--dsw-alias-label-primary);\n}\n.mv-task-progress progress::-webkit-progress-bar {\n background: var(--dsw-alias-bg-layer-2);\n}\n.mv-task-progress progress::-webkit-progress-value {\n background: var(--dsw-alias-label-primary);\n}\n.mv-task-progress progress::-moz-progress-bar {\n background: var(--dsw-alias-label-primary);\n}\n.mv-pagination {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 12px;\n padding: 12px 0;\n}\n.mv-dialog {\n max-height: 100%;\n}\n.mv-dialog-content {\n overflow-y: auto;\n min-height: 0;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xs-13);\n}\n.mv-detail-stack {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.mv-file {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n}\n.mv-file-info {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n.mv-file-actions {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n.mv-file-link {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n flex-shrink: 0;\n min-height: 28px;\n margin-right: auto;\n color: var(--dsw-alias-label-primary);\n font: var(--dsw-font-xxs-12);\n}\n.mv-settings {\n max-width: 960px;\n width: 100%;\n}\n.mv-settings-section {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 20px 0;\n border-top: 0.5px solid var(--dsw-alias-border-l2);\n}\n.mv-reference-projects {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 12px;\n}\n.mv-reference-link {\n display: inline-flex;\n align-items: center;\n align-self: flex-start;\n gap: 6px;\n overflow-wrap: anywhere;\n}\n.mv-runtime-list {\n display: grid;\n gap: 12px;\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n.mv-runtime-row {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 16px;\n border: 0.5px solid var(--dsw-alias-border-l2);\n border-radius: var(--dsw-radius-md);\n background: var(--dsw-alias-settings-card-fill);\n}\n.mv-runtime-row .mv-field {\n margin-top: auto;\n}\n.mv-shell[data-collapsed='true'] {\n grid-template-columns: 56px minmax(0, 1fr);\n}\n.mv-shell[data-collapsed='true'] .mv-navigation {\n padding-inline: 8px;\n}\n.mv-shell[data-collapsed='true']\n :is(.mv-brand, .mv-navigation-label, .mv-navigation-text, .mv-navigation-footer-copy) {\n display: none;\n}\n.mv-shell[data-collapsed='true'] .mv-navigation-footer {\n justify-content: center;\n padding-inline: 0;\n}\n.mv-shell[data-collapsed='true'] :is(.mv-navigation-header, .mv-navigation-item) {\n justify-content: center;\n}\n@container mv-panel (max-width: 680px) {\n .mv-shell {\n grid-template-columns: 56px minmax(0, 1fr);\n }\n .mv-navigation {\n padding-inline: 8px;\n }\n .mv-brand,\n .mv-navigation-label,\n .mv-navigation-text,\n .mv-navigation-footer-copy,\n .mv-navigation-header {\n display: none;\n }\n .mv-panel .mv-navigation-item {\n justify-content: center;\n }\n .mv-navigation-footer {\n justify-content: center;\n padding-inline: 0;\n }\n .mv-feature-content {\n padding-inline: 12px;\n }\n}\n@container mv-workspace (max-width: 760px) {\n .mv-runtime-list {\n grid-template-columns: minmax(0, 1fr);\n }\n .mv-task-row {\n flex-wrap: wrap;\n }\n .mv-task-actions {\n margin-left: 28px;\n }\n .mv-completed-row .mv-task-actions {\n margin-left: 0;\n }\n}\n@container mv-workspace (max-width: 480px) {\n .mv-page-top,\n .mv-media-identity,\n .mv-result-footer {\n flex-direction: column;\n }\n .mv-form-grid {\n grid-template-columns: minmax(0, 1fr);\n }\n .mv-link-row,\n .mv-list-toolbar,\n .mv-section-heading {\n flex-wrap: wrap;\n }\n .mv-link-row > span {\n flex-basis: 100%;\n }\n .mv-list-toolbar > span:first-child {\n flex-basis: 100%;\n }\n .mv-cover {\n width: 100%;\n max-width: 320px;\n }\n}\n.mv-diagnostic-log {\n max-height: 320px;\n overflow: auto;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n font: var(--dsw-font-xs-13);\n}\n\n:is(.mv-panel, .mv-dialog-content) .mv-compact-input { height: 28px; border-radius: var(--dsw-radius-sm); padding: 0 10px; }\n:is(.mv-panel, .mv-dialog-content) .mv-compact-input input { font-size: 12px; line-height: 18px; }\n";
|
|
9
9
|
if (!style.isConnected) document.head.appendChild(style);
|
|
10
10
|
"use strict";
|
|
11
11
|
var __create = Object.create;
|
|
@@ -2949,7 +2949,7 @@ var import_react6 = require("react");
|
|
|
2949
2949
|
// packages/harness/src/ui.tsx
|
|
2950
2950
|
var import_react5 = require("react");
|
|
2951
2951
|
|
|
2952
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
2952
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
2953
2953
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
2954
2954
|
|
|
2955
2955
|
// node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
@@ -2968,7 +2968,7 @@ function clsx() {
|
|
|
2968
2968
|
}
|
|
2969
2969
|
var clsx_default = clsx;
|
|
2970
2970
|
|
|
2971
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
2971
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/StateDot.module.css
|
|
2972
2972
|
var StateDot_default = {
|
|
2973
2973
|
dot: "StateDot_dot",
|
|
2974
2974
|
spinner: "StateDot_spinner",
|
|
@@ -2980,10 +2980,10 @@ var StateDot_default = {
|
|
|
2980
2980
|
step: "StateDot_step"
|
|
2981
2981
|
};
|
|
2982
2982
|
|
|
2983
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
2983
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
2984
2984
|
var import_react4 = require("react");
|
|
2985
2985
|
|
|
2986
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
2986
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TextShimmer.module.css
|
|
2987
2987
|
var TextShimmer_default = {
|
|
2988
2988
|
root: "TextShimmer_root",
|
|
2989
2989
|
content: "TextShimmer_content",
|
|
@@ -2995,9 +2995,10 @@ var TextShimmer_default = {
|
|
|
2995
2995
|
"dsh-row-shimmer-highlight": "TextShimmer_dsh-row-shimmer-highlight"
|
|
2996
2996
|
};
|
|
2997
2997
|
|
|
2998
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
2998
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css
|
|
2999
2999
|
var DisclosureRow_default = {
|
|
3000
3000
|
root: "DisclosureRow_root",
|
|
3001
|
+
header: "DisclosureRow_header",
|
|
3001
3002
|
row: "DisclosureRow_row",
|
|
3002
3003
|
leading: "DisclosureRow_leading",
|
|
3003
3004
|
iconIdle: "DisclosureRow_iconIdle",
|
|
@@ -3005,7 +3006,7 @@ var DisclosureRow_default = {
|
|
|
3005
3006
|
title: "DisclosureRow_title"
|
|
3006
3007
|
};
|
|
3007
3008
|
|
|
3008
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3009
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css
|
|
3009
3010
|
var Button_default = {
|
|
3010
3011
|
button: "Button_button",
|
|
3011
3012
|
md: "Button_md",
|
|
@@ -3017,34 +3018,34 @@ var Button_default = {
|
|
|
3017
3018
|
icon: "Button_icon"
|
|
3018
3019
|
};
|
|
3019
3020
|
|
|
3020
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3021
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tag.module.css
|
|
3021
3022
|
var Tag_default = {
|
|
3022
3023
|
tag: "Tag_tag"
|
|
3023
3024
|
};
|
|
3024
3025
|
|
|
3025
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3026
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SegmentedControl.module.css
|
|
3026
3027
|
var SegmentedControl_default = {
|
|
3027
3028
|
control: "SegmentedControl_control",
|
|
3028
3029
|
indicator: "SegmentedControl_indicator",
|
|
3029
3030
|
tab: "SegmentedControl_tab"
|
|
3030
3031
|
};
|
|
3031
3032
|
|
|
3032
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3033
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Checkbox.module.css
|
|
3033
3034
|
var Checkbox_default = {
|
|
3034
3035
|
checkbox: "Checkbox_checkbox"
|
|
3035
3036
|
};
|
|
3036
3037
|
|
|
3037
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3038
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css
|
|
3038
3039
|
var Input_default = {
|
|
3039
3040
|
wrap: "Input_wrap",
|
|
3040
3041
|
icon: "Input_icon",
|
|
3041
3042
|
input: "Input_input"
|
|
3042
3043
|
};
|
|
3043
3044
|
|
|
3044
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3045
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
3045
3046
|
var import_react_dom = require("react-dom");
|
|
3046
3047
|
|
|
3047
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3048
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ShortcutKeys.module.css
|
|
3048
3049
|
var ShortcutKeys_default = {
|
|
3049
3050
|
keys: "ShortcutKeys_keys",
|
|
3050
3051
|
key: "ShortcutKeys_key",
|
|
@@ -3053,7 +3054,7 @@ var ShortcutKeys_default = {
|
|
|
3053
3054
|
joined: "ShortcutKeys_joined"
|
|
3054
3055
|
};
|
|
3055
3056
|
|
|
3056
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3057
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/MenuSurface.module.css
|
|
3057
3058
|
var MenuSurface_default = {
|
|
3058
3059
|
surface: "MenuSurface_surface",
|
|
3059
3060
|
backing: "MenuSurface_backing",
|
|
@@ -3061,7 +3062,7 @@ var MenuSurface_default = {
|
|
|
3061
3062
|
material: "MenuSurface_material"
|
|
3062
3063
|
};
|
|
3063
3064
|
|
|
3064
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3065
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Menu.module.css
|
|
3065
3066
|
var Menu_default = {
|
|
3066
3067
|
root: "Menu_root",
|
|
3067
3068
|
list: "Menu_list",
|
|
@@ -3088,14 +3089,7 @@ var Menu_default = {
|
|
|
3088
3089
|
danger: "Menu_danger"
|
|
3089
3090
|
};
|
|
3090
3091
|
|
|
3091
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3092
|
-
var Tooltip_default = {
|
|
3093
|
-
bubble: "Tooltip_bubble",
|
|
3094
|
-
"tooltip-in": "Tooltip_tooltip-in",
|
|
3095
|
-
label: "Tooltip_label"
|
|
3096
|
-
};
|
|
3097
|
-
|
|
3098
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.0-rc.2_@deepseek-ai+cordis@4.0.4/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
|
|
3092
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css
|
|
3099
3093
|
var HoverCard_default = {
|
|
3100
3094
|
root: "HoverCard_root",
|
|
3101
3095
|
card: "HoverCard_card",
|
|
@@ -3108,7 +3102,7 @@ var HoverCard_default = {
|
|
|
3108
3102
|
media: "HoverCard_media"
|
|
3109
3103
|
};
|
|
3110
3104
|
|
|
3111
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3105
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Modal.module.css
|
|
3112
3106
|
var Modal_default = {
|
|
3113
3107
|
root: "Modal_root",
|
|
3114
3108
|
mask: "Modal_mask",
|
|
@@ -3230,7 +3224,7 @@ var siZhihu = { title: "Zhihu", slug: "zhihu", get svg() {
|
|
|
3230
3224
|
return c + "Zhihu" + t2 + this.path + a;
|
|
3231
3225
|
}, path: "M5.721 0C2.251 0 0 2.25 0 5.719V18.28C0 21.751 2.252 24 5.721 24h12.56C21.751 24 24 21.75 24 18.281V5.72C24 2.249 21.75 0 18.281 0zm1.964 4.078c-.271.73-.5 1.434-.68 2.11h4.587c.545-.006.445 1.168.445 1.171H9.384a58.104 58.104 0 01-.112 3.797h2.712c.388.023.393 1.251.393 1.266H9.183a9.223 9.223 0 01-.408 2.102l.757-.604c.452.456 1.512 1.712 1.906 2.177.473.681.063 2.081.063 2.081l-2.794-3.382c-.653 2.518-1.845 3.607-1.845 3.607-.523.468-1.58.82-2.64.516 2.218-1.73 3.44-3.917 3.667-6.497H4.491c0-.015.197-1.243.806-1.266h2.71c.024-.32.086-3.254.086-3.797H6.598c-.136.406-.158.447-.268.753-.594 1.095-1.603 1.122-1.907 1.155.906-1.821 1.416-3.6 1.591-4.064.425-1.124 1.671-1.125 1.671-1.125zM13.078 6h6.377v11.33h-2.573l-2.184 1.373-.401-1.373h-1.219zm1.313 1.219v8.86h.623l.263.937 1.455-.938h1.456v-8.86z", source: "https://www.zhihu.com", hex: "0084FF" };
|
|
3232
3226
|
|
|
3233
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3227
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css
|
|
3234
3228
|
var MarkdownText_default = {
|
|
3235
3229
|
markdown: "MarkdownText_markdown",
|
|
3236
3230
|
fileLink: "MarkdownText_fileLink",
|
|
@@ -3245,7 +3239,14 @@ var MarkdownText_default = {
|
|
|
3245
3239
|
previewName: "MarkdownText_previewName"
|
|
3246
3240
|
};
|
|
3247
3241
|
|
|
3248
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
3242
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css
|
|
3243
|
+
var Tooltip_default = {
|
|
3244
|
+
bubble: "Tooltip_bubble",
|
|
3245
|
+
"tooltip-in": "Tooltip_tooltip-in",
|
|
3246
|
+
label: "Tooltip_label"
|
|
3247
|
+
};
|
|
3248
|
+
|
|
3249
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Toast.module.css
|
|
3249
3250
|
var Toast_default = {
|
|
3250
3251
|
toast: "Toast_toast",
|
|
3251
3252
|
"dsh-toast-in": "Toast_dsh-toast-in",
|
|
@@ -13754,12 +13755,12 @@ function createJavaScriptRegexEngine(options = {}) {
|
|
|
13754
13755
|
};
|
|
13755
13756
|
}
|
|
13756
13757
|
|
|
13757
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
13758
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
13758
13759
|
init_typescript();
|
|
13759
13760
|
init_shellscript();
|
|
13760
13761
|
init_json();
|
|
13761
13762
|
|
|
13762
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.
|
|
13763
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-util-code-language@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-util-code-language/lib/index.js
|
|
13763
13764
|
var LANGUAGES = new Map(Object.entries({
|
|
13764
13765
|
typescript: [
|
|
13765
13766
|
"ts",
|
|
@@ -13896,10 +13897,10 @@ var LANGUAGES = new Map(Object.entries({
|
|
|
13896
13897
|
}).flatMap(([language2, extensions2]) => extensions2.map((extension2) => [extension2, language2])));
|
|
13897
13898
|
var CODE_HIGHLIGHT_EXTENSIONS = [...LANGUAGES.keys()];
|
|
13898
13899
|
|
|
13899
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
13900
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
13900
13901
|
var import_anser = __toESM(require_lib(), 1);
|
|
13901
13902
|
|
|
13902
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
13903
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/CodeCard.module.css
|
|
13903
13904
|
var CodeCard_default = {
|
|
13904
13905
|
card: "CodeCard_card",
|
|
13905
13906
|
header: "CodeCard_header",
|
|
@@ -13912,7 +13913,7 @@ var CodeCard_default = {
|
|
|
13912
13913
|
body: "CodeCard_body"
|
|
13913
13914
|
};
|
|
13914
13915
|
|
|
13915
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
13916
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css
|
|
13916
13917
|
var DiffBlock_default = {
|
|
13917
13918
|
block: "DiffBlock_block",
|
|
13918
13919
|
body: "DiffBlock_body",
|
|
@@ -36444,7 +36445,7 @@ var types = (
|
|
|
36444
36445
|
}
|
|
36445
36446
|
);
|
|
36446
36447
|
|
|
36447
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
36448
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css
|
|
36448
36449
|
var CodeBlock_default = {
|
|
36449
36450
|
block: "CodeBlock_block",
|
|
36450
36451
|
bannerWrap: "CodeBlock_bannerWrap",
|
|
@@ -36459,22 +36460,23 @@ var CodeBlock_default = {
|
|
|
36459
36460
|
numbered: "CodeBlock_numbered"
|
|
36460
36461
|
};
|
|
36461
36462
|
|
|
36462
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
36463
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImageLightbox.module.css
|
|
36463
36464
|
var ImageLightbox_default = {
|
|
36464
36465
|
backdrop: "ImageLightbox_backdrop",
|
|
36466
|
+
stage: "ImageLightbox_stage",
|
|
36465
36467
|
mask: "ImageLightbox_mask",
|
|
36466
36468
|
image: "ImageLightbox_image",
|
|
36467
36469
|
close: "ImageLightbox_close"
|
|
36468
36470
|
};
|
|
36469
36471
|
|
|
36470
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
36472
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ImagePreview.module.css
|
|
36471
36473
|
var ImagePreview_default = {
|
|
36472
36474
|
frame: "ImagePreview_frame",
|
|
36473
36475
|
image: "ImagePreview_image",
|
|
36474
36476
|
status: "ImagePreview_status"
|
|
36475
36477
|
};
|
|
36476
36478
|
|
|
36477
|
-
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.
|
|
36479
|
+
// node_modules/.pnpm/@deepseek-ai+dsh-client-ui-primitives@0.2.1-rc.2_@deepseek-ai+cordis@4.0.5/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js
|
|
36478
36480
|
var GlobeOutlineArtwork = ({ size = 14, className, strokeWidth }) => (0, import_jsx_runtime.jsxs)("svg", {
|
|
36479
36481
|
width: size,
|
|
36480
36482
|
height: size,
|
|
@@ -36735,6 +36737,12 @@ var IconCheckCircleOutlineRegular = (props) => (0, import_jsx_runtime.jsx)(IconC
|
|
|
36735
36737
|
});
|
|
36736
36738
|
function syncSpinner(element3) {
|
|
36737
36739
|
if (element3 === null) return;
|
|
36740
|
+
pinSpinner(element3);
|
|
36741
|
+
element3.addEventListener("animationstart", () => {
|
|
36742
|
+
pinSpinner(element3);
|
|
36743
|
+
});
|
|
36744
|
+
}
|
|
36745
|
+
function pinSpinner(element3) {
|
|
36738
36746
|
const spinner = element3;
|
|
36739
36747
|
for (const animation of spinner.getAnimations?.({ subtree: true }) ?? []) animation.startTime = 0;
|
|
36740
36748
|
}
|
|
@@ -36815,7 +36823,7 @@ var TextShimmer = (0, import_react4.memo)(function TextShimmer2({ children, acti
|
|
|
36815
36823
|
})]
|
|
36816
36824
|
});
|
|
36817
36825
|
});
|
|
36818
|
-
var DisclosureRow = (0, import_react4.memo)(function DisclosureRow2({ icon, title, open: open2, expandable, onToggle, running = false, expandOnRowClick = false, previewChevron = expandable, keepContentWhenOpen = false, collapsedContent, children, className, rowClassName, contentClassName, contentLayoutClassName, leadingClassName, chevronClassName, titleClassName }) {
|
|
36826
|
+
var DisclosureRow = (0, import_react4.memo)(function DisclosureRow2({ icon, title, open: open2, expandable, onToggle, running = false, expandOnRowClick = false, previewChevron = expandable, keepContentWhenOpen = false, collapsedContent, headerAccessory, children, className, rowClassName, contentClassName, contentLayoutClassName, leadingClassName, chevronClassName, titleClassName }) {
|
|
36819
36827
|
const rowExpands = expandable && expandOnRowClick;
|
|
36820
36828
|
const toggleFromLeading = (event) => {
|
|
36821
36829
|
event.stopPropagation();
|
|
@@ -36835,33 +36843,38 @@ var DisclosureRow = (0, import_react4.memo)(function DisclosureRow2({ icon, titl
|
|
|
36835
36843
|
className: clsx_default(DisclosureRow_default.root, className),
|
|
36836
36844
|
"data-open": open2 || void 0,
|
|
36837
36845
|
children: [(0, import_jsx_runtime.jsxs)("div", {
|
|
36838
|
-
className:
|
|
36839
|
-
"data-disclosure-
|
|
36840
|
-
"data-
|
|
36841
|
-
|
|
36842
|
-
|
|
36843
|
-
|
|
36844
|
-
|
|
36845
|
-
|
|
36846
|
-
|
|
36847
|
-
|
|
36848
|
-
|
|
36849
|
-
|
|
36850
|
-
"
|
|
36851
|
-
|
|
36852
|
-
|
|
36853
|
-
|
|
36854
|
-
|
|
36855
|
-
|
|
36856
|
-
|
|
36857
|
-
|
|
36858
|
-
|
|
36859
|
-
|
|
36860
|
-
|
|
36861
|
-
|
|
36862
|
-
|
|
36863
|
-
|
|
36864
|
-
|
|
36846
|
+
className: DisclosureRow_default.header,
|
|
36847
|
+
"data-disclosure-header": true,
|
|
36848
|
+
"data-has-accessory": !!headerAccessory || void 0,
|
|
36849
|
+
children: [(0, import_jsx_runtime.jsxs)("div", {
|
|
36850
|
+
className: clsx_default(DisclosureRow_default.row, rowClassName),
|
|
36851
|
+
"data-disclosure-row": true,
|
|
36852
|
+
"data-expandable": rowExpands || void 0,
|
|
36853
|
+
role: rowExpands ? "button" : void 0,
|
|
36854
|
+
tabIndex: rowExpands ? 0 : void 0,
|
|
36855
|
+
"aria-expanded": rowExpands ? open2 : void 0,
|
|
36856
|
+
onClick: rowExpands ? onToggle : void 0,
|
|
36857
|
+
onKeyDown: rowExpands ? toggleFromKeyboard : void 0,
|
|
36858
|
+
children: [expandable && !rowExpands ? (0, import_jsx_runtime.jsx)("button", {
|
|
36859
|
+
type: "button",
|
|
36860
|
+
className: clsx_default(DisclosureRow_default.leading, leadingClassName),
|
|
36861
|
+
"aria-label": title,
|
|
36862
|
+
"aria-expanded": open2,
|
|
36863
|
+
onClick: toggleFromLeading,
|
|
36864
|
+
children: leading
|
|
36865
|
+
}) : (0, import_jsx_runtime.jsx)("span", {
|
|
36866
|
+
className: clsx_default(DisclosureRow_default.leading, leadingClassName),
|
|
36867
|
+
children: leading
|
|
36868
|
+
}), (0, import_jsx_runtime.jsxs)(TextShimmer, {
|
|
36869
|
+
active: running,
|
|
36870
|
+
className: contentClassName,
|
|
36871
|
+
contentClassName: contentLayoutClassName,
|
|
36872
|
+
children: [(0, import_jsx_runtime.jsx)(TextShimmer, {
|
|
36873
|
+
className: clsx_default(DisclosureRow_default.title, titleClassName),
|
|
36874
|
+
children: title
|
|
36875
|
+
}), (keepContentWhenOpen || !open2) && collapsedContent]
|
|
36876
|
+
})]
|
|
36877
|
+
}), headerAccessory]
|
|
36865
36878
|
}), open2 && children]
|
|
36866
36879
|
});
|
|
36867
36880
|
});
|
|
@@ -37543,279 +37556,14 @@ async function writeClipboard(text6) {
|
|
|
37543
37556
|
el.remove();
|
|
37544
37557
|
}
|
|
37545
37558
|
}
|
|
37546
|
-
var
|
|
37547
|
-
pointer: "pointer",
|
|
37548
|
-
keyboard: "keyboard"
|
|
37549
|
-
};
|
|
37550
|
-
var INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
37551
|
-
var FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
|
|
37552
|
-
"Tab",
|
|
37553
|
-
"Home",
|
|
37554
|
-
"End",
|
|
37555
|
-
"PageUp",
|
|
37556
|
-
"PageDown"
|
|
37557
|
-
]);
|
|
37558
|
-
var pointer = false;
|
|
37559
|
-
var pointerOwnsFocus = false;
|
|
37560
|
-
var keyFocusOrigin;
|
|
37561
|
-
function publish() {
|
|
37562
|
-
document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
|
|
37563
|
-
}
|
|
37564
|
-
function pointerModality() {
|
|
37565
|
-
return pointer;
|
|
37566
|
-
}
|
|
37567
|
-
if (typeof window !== "undefined") {
|
|
37568
|
-
window.addEventListener("pointerdown", () => {
|
|
37569
|
-
pointer = true;
|
|
37570
|
-
pointerOwnsFocus = true;
|
|
37571
|
-
keyFocusOrigin = void 0;
|
|
37572
|
-
publish();
|
|
37573
|
-
}, true);
|
|
37574
|
-
window.addEventListener("keydown", (event) => {
|
|
37575
|
-
pointer = false;
|
|
37576
|
-
if (event.isComposing) {
|
|
37577
|
-
keyFocusOrigin = void 0;
|
|
37578
|
-
return;
|
|
37579
|
-
}
|
|
37580
|
-
keyFocusOrigin = event.composedPath()[0];
|
|
37581
|
-
if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
|
|
37582
|
-
pointerOwnsFocus = false;
|
|
37583
|
-
publish();
|
|
37584
|
-
}, true);
|
|
37585
|
-
window.addEventListener("focusin", (event) => {
|
|
37586
|
-
if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
|
|
37587
|
-
keyFocusOrigin = void 0;
|
|
37588
|
-
if (!pointerOwnsFocus) return;
|
|
37589
|
-
pointerOwnsFocus = false;
|
|
37590
|
-
publish();
|
|
37591
|
-
}, true);
|
|
37592
|
-
window.addEventListener("blur", () => {
|
|
37593
|
-
keyFocusOrigin = void 0;
|
|
37594
|
-
});
|
|
37595
|
-
}
|
|
37596
|
-
var TooltipSuppression = (0, import_react4.createContext)(null);
|
|
37597
|
-
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
37598
|
-
const id = (0, import_react4.useId)();
|
|
37599
|
-
const [pinned, setPinned] = (0, import_react4.useState)(false);
|
|
37600
|
-
const anchor = (0, import_react4.useRef)(null);
|
|
37601
|
-
const childRef = children.ref;
|
|
37602
|
-
const mergedRef = (0, import_react4.useCallback)((el) => {
|
|
37603
|
-
anchor.current = el;
|
|
37604
|
-
if (typeof childRef === "function") childRef(el);
|
|
37605
|
-
else if (childRef != null) childRef.current = el;
|
|
37606
|
-
}, [childRef]);
|
|
37607
|
-
const [pos, setPos] = (0, import_react4.useState)(null);
|
|
37608
|
-
const bubble = (0, import_react4.useRef)(null);
|
|
37609
|
-
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
37610
|
-
const y3 = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
|
|
37611
|
-
const showTimer = (0, import_react4.useRef)(null);
|
|
37612
|
-
const triggers = (0, import_react4.useRef)({
|
|
37613
|
-
hover: false,
|
|
37614
|
-
focus: false
|
|
37615
|
-
});
|
|
37616
|
-
const suppressAncestors = (0, import_react4.useContext)(TooltipSuppression);
|
|
37617
|
-
const [suppressed, setSuppressed] = (0, import_react4.useState)(false);
|
|
37618
|
-
const announce = (0, import_react4.useCallback)((active) => {
|
|
37619
|
-
suppressAncestors?.(active);
|
|
37620
|
-
}, [suppressAncestors]);
|
|
37621
|
-
const visible = pos !== null && !disabled;
|
|
37622
|
-
(0, import_react4.useEffect)(() => {
|
|
37623
|
-
const el = bubble.current;
|
|
37624
|
-
if (pos === null || !visible || suppressed || el === null) return;
|
|
37625
|
-
const edgeMargin = 12;
|
|
37626
|
-
let size;
|
|
37627
|
-
let placement = side;
|
|
37628
|
-
const fit = () => {
|
|
37629
|
-
if (size === void 0) return;
|
|
37630
|
-
const { inlineSize: width, blockSize: height } = size;
|
|
37631
|
-
const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
|
|
37632
|
-
const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
|
|
37633
|
-
const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
|
|
37634
|
-
const fitsAbove = pos.top - gap - height >= edgeMargin;
|
|
37635
|
-
if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
|
|
37636
|
-
else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
|
|
37637
|
-
el.style.left = `${left + offset}px`;
|
|
37638
|
-
el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
|
|
37639
|
-
el.dataset.side = placement;
|
|
37640
|
-
el.style.visibility = "visible";
|
|
37641
|
-
};
|
|
37642
|
-
const observer = new ResizeObserver((entries) => {
|
|
37643
|
-
size = entries[0]?.borderBoxSize[0];
|
|
37644
|
-
fit();
|
|
37645
|
-
});
|
|
37646
|
-
observer.observe(el, { box: "border-box" });
|
|
37647
|
-
window.addEventListener("resize", fit);
|
|
37648
|
-
return () => {
|
|
37649
|
-
observer.disconnect();
|
|
37650
|
-
window.removeEventListener("resize", fit);
|
|
37651
|
-
};
|
|
37652
|
-
}, [
|
|
37653
|
-
align,
|
|
37654
|
-
gap,
|
|
37655
|
-
pos,
|
|
37656
|
-
side,
|
|
37657
|
-
suppressed,
|
|
37658
|
-
visible
|
|
37659
|
-
]);
|
|
37660
|
-
(0, import_react4.useEffect)(() => {
|
|
37661
|
-
announce(visible);
|
|
37662
|
-
return () => {
|
|
37663
|
-
announce(false);
|
|
37664
|
-
};
|
|
37665
|
-
}, [announce, visible]);
|
|
37666
|
-
const cancelShow = (0, import_react4.useCallback)(() => {
|
|
37667
|
-
if (showTimer.current === null) return;
|
|
37668
|
-
clearTimeout(showTimer.current);
|
|
37669
|
-
showTimer.current = null;
|
|
37670
|
-
}, []);
|
|
37671
|
-
(0, import_react4.useEffect)(() => {
|
|
37672
|
-
if (pinned && (disabled || !openOnClick)) setPinned(false);
|
|
37673
|
-
if (disabled) {
|
|
37674
|
-
cancelShow();
|
|
37675
|
-
triggers.current = {
|
|
37676
|
-
hover: false,
|
|
37677
|
-
focus: false
|
|
37678
|
-
};
|
|
37679
|
-
setPos(null);
|
|
37680
|
-
}
|
|
37681
|
-
return cancelShow;
|
|
37682
|
-
}, [
|
|
37683
|
-
cancelShow,
|
|
37684
|
-
disabled,
|
|
37685
|
-
openOnClick,
|
|
37686
|
-
pinned
|
|
37687
|
-
]);
|
|
37688
|
-
const show = () => {
|
|
37689
|
-
if (disabled) return;
|
|
37690
|
-
const el = anchor.current;
|
|
37691
|
-
if (el === null) return;
|
|
37692
|
-
const r5 = el.getBoundingClientRect();
|
|
37693
|
-
setPos({
|
|
37694
|
-
x: side === "right" ? r5.right + 10 : align === "end" ? r5.right : r5.left + r5.width / 2,
|
|
37695
|
-
top: r5.top,
|
|
37696
|
-
bottom: r5.bottom
|
|
37697
|
-
});
|
|
37698
|
-
announce(true);
|
|
37699
|
-
};
|
|
37700
|
-
const showAfterDelay = (delay) => {
|
|
37701
|
-
cancelShow();
|
|
37702
|
-
if (delay <= 0) {
|
|
37703
|
-
show();
|
|
37704
|
-
return;
|
|
37705
|
-
}
|
|
37706
|
-
showTimer.current = setTimeout(() => {
|
|
37707
|
-
showTimer.current = null;
|
|
37708
|
-
show();
|
|
37709
|
-
}, delay);
|
|
37710
|
-
};
|
|
37711
|
-
const withdraw = (0, import_react4.useCallback)(() => {
|
|
37712
|
-
setPinned(false);
|
|
37713
|
-
setPos(null);
|
|
37714
|
-
announce(false);
|
|
37715
|
-
}, [announce]);
|
|
37716
|
-
const hide = () => {
|
|
37717
|
-
cancelShow();
|
|
37718
|
-
if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
|
|
37719
|
-
};
|
|
37720
|
-
const dismiss = (0, import_react4.useCallback)(() => {
|
|
37721
|
-
cancelShow();
|
|
37722
|
-
triggers.current = {
|
|
37723
|
-
hover: false,
|
|
37724
|
-
focus: false
|
|
37725
|
-
};
|
|
37726
|
-
withdraw();
|
|
37727
|
-
}, [cancelShow, withdraw]);
|
|
37728
|
-
useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
|
|
37729
|
-
(0, import_react4.useEffect)(() => {
|
|
37730
|
-
if (!openOnClick || !visible) return;
|
|
37731
|
-
const onKeyDown = (event) => {
|
|
37732
|
-
if (event.key !== "Escape" && event.key !== "Tab") return;
|
|
37733
|
-
if (event.key === "Escape") {
|
|
37734
|
-
event.preventDefault();
|
|
37735
|
-
event.stopPropagation();
|
|
37736
|
-
}
|
|
37737
|
-
dismiss();
|
|
37738
|
-
};
|
|
37739
|
-
document.addEventListener("keydown", onKeyDown, true);
|
|
37740
|
-
return () => {
|
|
37741
|
-
document.removeEventListener("keydown", onKeyDown, true);
|
|
37742
|
-
};
|
|
37743
|
-
}, [
|
|
37744
|
-
dismiss,
|
|
37745
|
-
openOnClick,
|
|
37746
|
-
visible
|
|
37747
|
-
]);
|
|
37748
|
-
const content3 = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
|
|
37749
|
-
ref: bubble,
|
|
37750
|
-
id: openOnClick ? id : void 0,
|
|
37751
|
-
className: Tooltip_default.bubble,
|
|
37752
|
-
"data-side": side,
|
|
37753
|
-
"data-portal": portal || void 0,
|
|
37754
|
-
"data-pinned": pinned || void 0,
|
|
37755
|
-
"data-align": align,
|
|
37756
|
-
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
37757
|
-
style: {
|
|
37758
|
-
left: pos.x,
|
|
37759
|
-
top: y3,
|
|
37760
|
-
visibility: "hidden",
|
|
37761
|
-
...maxWidth === void 0 ? {} : { maxWidth }
|
|
37762
|
-
},
|
|
37763
|
-
role: "tooltip",
|
|
37764
|
-
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
37765
|
-
children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
|
|
37766
|
-
className: Tooltip_default.label,
|
|
37767
|
-
children: resolvedLabel
|
|
37768
|
-
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
|
|
37769
|
-
keys: shortcutKeys,
|
|
37770
|
-
variant: "tooltip"
|
|
37771
|
-
})]
|
|
37772
|
-
});
|
|
37773
|
-
return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
|
|
37774
|
-
value: setSuppressed,
|
|
37775
|
-
children: [(0, import_react4.cloneElement)(children, {
|
|
37776
|
-
ref: mergedRef,
|
|
37777
|
-
"aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
|
|
37778
|
-
onMouseEnter: (e) => {
|
|
37779
|
-
children.props.onMouseEnter?.(e);
|
|
37780
|
-
triggers.current.hover = true;
|
|
37781
|
-
showAfterDelay(delayMs);
|
|
37782
|
-
},
|
|
37783
|
-
onMouseLeave: (e) => {
|
|
37784
|
-
children.props.onMouseLeave?.(e);
|
|
37785
|
-
triggers.current.hover = false;
|
|
37786
|
-
cancelShow();
|
|
37787
|
-
if (!pinned) withdraw();
|
|
37788
|
-
},
|
|
37789
|
-
onClick: (e) => {
|
|
37790
|
-
children.props.onClick?.(e);
|
|
37791
|
-
triggers.current.focus = false;
|
|
37792
|
-
cancelShow();
|
|
37793
|
-
if (openOnClick && !disabled && !pinned) {
|
|
37794
|
-
setPinned(true);
|
|
37795
|
-
show();
|
|
37796
|
-
} else withdraw();
|
|
37797
|
-
},
|
|
37798
|
-
onFocus: (e) => {
|
|
37799
|
-
children.props.onFocus?.(e);
|
|
37800
|
-
if (pointerModality()) return;
|
|
37801
|
-
triggers.current.focus = true;
|
|
37802
|
-
showAfterDelay(focusDelayMs);
|
|
37803
|
-
},
|
|
37804
|
-
onBlur: (e) => {
|
|
37805
|
-
children.props.onBlur?.(e);
|
|
37806
|
-
triggers.current.focus = false;
|
|
37807
|
-
hide();
|
|
37808
|
-
}
|
|
37809
|
-
}), portal ? content3 !== false && (0, import_react_dom.createPortal)(content3, document.body) : content3]
|
|
37810
|
-
});
|
|
37811
|
-
}
|
|
37559
|
+
var HoverCardGroupContext = (0, import_react4.createContext)(null);
|
|
37812
37560
|
var PREVIEW_FADE_MS = 100;
|
|
37813
37561
|
var PREVIEW_MAX_HEIGHT = 420;
|
|
37814
37562
|
var PREVIEW_INSET = 24;
|
|
37815
37563
|
var INLINE_PREVIEW_WIDTH = 300;
|
|
37816
37564
|
var ANCHOR_GAP = 8;
|
|
37817
37565
|
var VIEWPORT_MARGIN = 8;
|
|
37818
|
-
function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
|
|
37566
|
+
function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = false, grouped = false, copyText, copyLabel, copiedLabel, variant = "compact", widthAnchorRef, inline = false }) {
|
|
37819
37567
|
const rootRef = (0, import_react4.useRef)(null);
|
|
37820
37568
|
const cardRef = (0, import_react4.useRef)(null);
|
|
37821
37569
|
const timerRef = (0, import_react4.useRef)(null);
|
|
@@ -37830,7 +37578,9 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
37830
37578
|
const [pos, setPos] = (0, import_react4.useState)(null);
|
|
37831
37579
|
const positioned = pos !== null;
|
|
37832
37580
|
const [copied, setCopied] = (0, import_react4.useState)(false);
|
|
37833
|
-
const
|
|
37581
|
+
const parentGroup = (0, import_react4.useContext)(HoverCardGroupContext);
|
|
37582
|
+
const group = grouped ? parentGroup : null;
|
|
37583
|
+
const [groupOwner] = (0, import_react4.useState)(() => /* @__PURE__ */ Symbol("hover-card"));
|
|
37834
37584
|
const clearCopied = (0, import_react4.useCallback)(() => {
|
|
37835
37585
|
if (copyTimerRef.current !== null) {
|
|
37836
37586
|
clearTimeout(copyTimerRef.current);
|
|
@@ -37845,12 +37595,36 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
37845
37595
|
setPhase((current) => variant === "preview" && current !== "closed" ? "closing" : "closed");
|
|
37846
37596
|
}, [clearCopied, variant]);
|
|
37847
37597
|
const { arm: armClose, cancel: cancelClose } = usePointerGrace(close2);
|
|
37848
|
-
const clearTimer = () => {
|
|
37598
|
+
const clearTimer = (0, import_react4.useCallback)(() => {
|
|
37849
37599
|
if (timerRef.current !== null) {
|
|
37850
37600
|
clearTimeout(timerRef.current);
|
|
37851
37601
|
timerRef.current = null;
|
|
37852
37602
|
}
|
|
37853
|
-
};
|
|
37603
|
+
}, []);
|
|
37604
|
+
const dismissImmediately = (0, import_react4.useCallback)(() => {
|
|
37605
|
+
clearTimer();
|
|
37606
|
+
cancelClose();
|
|
37607
|
+
copyEpochRef.current += 1;
|
|
37608
|
+
clearCopied();
|
|
37609
|
+
setPhase("closed");
|
|
37610
|
+
}, [
|
|
37611
|
+
clearTimer,
|
|
37612
|
+
cancelClose,
|
|
37613
|
+
clearCopied
|
|
37614
|
+
]);
|
|
37615
|
+
const groupVisible = open2 && positioned;
|
|
37616
|
+
(0, import_react4.useLayoutEffect)(() => {
|
|
37617
|
+
if (!groupVisible || group === null) return;
|
|
37618
|
+
group.shown(groupOwner, dismissImmediately, cardRef.current);
|
|
37619
|
+
return () => {
|
|
37620
|
+
group.release(groupOwner);
|
|
37621
|
+
};
|
|
37622
|
+
}, [
|
|
37623
|
+
group,
|
|
37624
|
+
groupOwner,
|
|
37625
|
+
groupVisible,
|
|
37626
|
+
dismissImmediately
|
|
37627
|
+
]);
|
|
37854
37628
|
(0, import_react4.useEffect)(() => {
|
|
37855
37629
|
if (!closing2) return;
|
|
37856
37630
|
const timer = setTimeout(() => {
|
|
@@ -37974,7 +37748,7 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
37974
37748
|
inline
|
|
37975
37749
|
]);
|
|
37976
37750
|
(0, import_react4.useLayoutEffect)(() => {
|
|
37977
|
-
if (!open2 || pos === null || variant === "preview" || inline
|
|
37751
|
+
if (!open2 || pos === null || variant === "preview" || inline) return;
|
|
37978
37752
|
const h2 = cardRef.current?.offsetHeight ?? 0;
|
|
37979
37753
|
if (pos.top + h2 > window.innerHeight - VIEWPORT_MARGIN) setPos({
|
|
37980
37754
|
left: pos.left,
|
|
@@ -37984,8 +37758,7 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
37984
37758
|
open2,
|
|
37985
37759
|
pos,
|
|
37986
37760
|
variant,
|
|
37987
|
-
inline
|
|
37988
|
-
suppressed
|
|
37761
|
+
inline
|
|
37989
37762
|
]);
|
|
37990
37763
|
const copy = async (text6) => {
|
|
37991
37764
|
if (copied || copyingRef.current) return;
|
|
@@ -38007,7 +37780,7 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
38007
37780
|
cancelClose();
|
|
38008
37781
|
close2();
|
|
38009
37782
|
};
|
|
38010
|
-
const card = open2 && pos !== null &&
|
|
37783
|
+
const card = open2 && pos !== null && (0, import_jsx_runtime.jsx)("div", {
|
|
38011
37784
|
ref: cardRef,
|
|
38012
37785
|
className: clsx_default(HoverCard_default.card, variant === "preview" && HoverCard_default.preview, inline && HoverCard_default.media, copyable && HoverCard_default.copyable, copied && HoverCard_default.feedback),
|
|
38013
37786
|
"data-closing": closing2 || void 0,
|
|
@@ -38061,7 +37834,8 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
38061
37834
|
return;
|
|
38062
37835
|
}
|
|
38063
37836
|
clearTimer();
|
|
38064
|
-
|
|
37837
|
+
if (group?.isWarm()) setPhase("open");
|
|
37838
|
+
else timerRef.current = setTimeout(() => {
|
|
38065
37839
|
setPhase("open");
|
|
38066
37840
|
}, openDelayMs);
|
|
38067
37841
|
},
|
|
@@ -38072,11 +37846,8 @@ function HoverCard({ anchor, content: content3, openDelayMs = 500, disabled = fa
|
|
|
38072
37846
|
onPointerDownCapture: dismissFromAnchor,
|
|
38073
37847
|
onClickCapture: dismissFromAnchor,
|
|
38074
37848
|
children: [
|
|
38075
|
-
|
|
38076
|
-
|
|
38077
|
-
children: anchor
|
|
38078
|
-
}),
|
|
38079
|
-
open2 && !suppressed && copyable && (0, import_jsx_runtime.jsx)("span", {
|
|
37849
|
+
anchor,
|
|
37850
|
+
open2 && copyable && (0, import_jsx_runtime.jsx)("span", {
|
|
38080
37851
|
className: HoverCard_default.status,
|
|
38081
37852
|
role: "status",
|
|
38082
37853
|
children: copied ? copiedLabel : ""
|
|
@@ -38778,6 +38549,272 @@ function LinkIconMedium(props) {
|
|
|
38778
38549
|
strokeWidth: ICON_MEDIUM_STROKE
|
|
38779
38550
|
});
|
|
38780
38551
|
}
|
|
38552
|
+
var INPUT_MODALITY = {
|
|
38553
|
+
pointer: "pointer",
|
|
38554
|
+
keyboard: "keyboard"
|
|
38555
|
+
};
|
|
38556
|
+
var INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
38557
|
+
var FOCUS_NAVIGATION = /* @__PURE__ */ new Set([
|
|
38558
|
+
"Tab",
|
|
38559
|
+
"Home",
|
|
38560
|
+
"End",
|
|
38561
|
+
"PageUp",
|
|
38562
|
+
"PageDown"
|
|
38563
|
+
]);
|
|
38564
|
+
var pointer = false;
|
|
38565
|
+
var pointerOwnsFocus = false;
|
|
38566
|
+
var keyFocusOrigin;
|
|
38567
|
+
function publish() {
|
|
38568
|
+
document.documentElement.setAttribute(INPUT_MODALITY_ATTRIBUTE, pointerOwnsFocus ? INPUT_MODALITY.pointer : INPUT_MODALITY.keyboard);
|
|
38569
|
+
}
|
|
38570
|
+
function pointerModality() {
|
|
38571
|
+
return pointer;
|
|
38572
|
+
}
|
|
38573
|
+
if (typeof window !== "undefined") {
|
|
38574
|
+
window.addEventListener("pointerdown", () => {
|
|
38575
|
+
pointer = true;
|
|
38576
|
+
pointerOwnsFocus = true;
|
|
38577
|
+
keyFocusOrigin = void 0;
|
|
38578
|
+
publish();
|
|
38579
|
+
}, true);
|
|
38580
|
+
window.addEventListener("keydown", (event) => {
|
|
38581
|
+
pointer = false;
|
|
38582
|
+
if (event.isComposing) {
|
|
38583
|
+
keyFocusOrigin = void 0;
|
|
38584
|
+
return;
|
|
38585
|
+
}
|
|
38586
|
+
keyFocusOrigin = event.composedPath()[0];
|
|
38587
|
+
if (!FOCUS_NAVIGATION.has(event.key) && !event.key.startsWith("Arrow")) return;
|
|
38588
|
+
pointerOwnsFocus = false;
|
|
38589
|
+
publish();
|
|
38590
|
+
}, true);
|
|
38591
|
+
window.addEventListener("focusin", (event) => {
|
|
38592
|
+
if (keyFocusOrigin === void 0 || event.composedPath()[0] === keyFocusOrigin) return;
|
|
38593
|
+
keyFocusOrigin = void 0;
|
|
38594
|
+
if (!pointerOwnsFocus) return;
|
|
38595
|
+
pointerOwnsFocus = false;
|
|
38596
|
+
publish();
|
|
38597
|
+
}, true);
|
|
38598
|
+
window.addEventListener("blur", () => {
|
|
38599
|
+
keyFocusOrigin = void 0;
|
|
38600
|
+
});
|
|
38601
|
+
}
|
|
38602
|
+
var TooltipSuppression = (0, import_react4.createContext)(null);
|
|
38603
|
+
function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayMs = 0, focusDelayMs = 0, gap = 8, disabled = false, portal = false, maxWidth, openOnClick = false, children }) {
|
|
38604
|
+
const id = (0, import_react4.useId)();
|
|
38605
|
+
const [pinned, setPinned] = (0, import_react4.useState)(false);
|
|
38606
|
+
const anchor = (0, import_react4.useRef)(null);
|
|
38607
|
+
const childRef = children.ref;
|
|
38608
|
+
const mergedRef = (0, import_react4.useCallback)((el) => {
|
|
38609
|
+
anchor.current = el;
|
|
38610
|
+
if (typeof childRef === "function") childRef(el);
|
|
38611
|
+
else if (childRef != null) childRef.current = el;
|
|
38612
|
+
}, [childRef]);
|
|
38613
|
+
const [pos, setPos] = (0, import_react4.useState)(null);
|
|
38614
|
+
const bubble = (0, import_react4.useRef)(null);
|
|
38615
|
+
const resolvedLabel = pos === null ? null : typeof label === "function" ? label() : label;
|
|
38616
|
+
const y3 = pos === null ? 0 : side === "right" ? pos.top + (pos.bottom - pos.top) / 2 : side === "top" ? pos.top - gap : pos.bottom + gap;
|
|
38617
|
+
const showTimer = (0, import_react4.useRef)(null);
|
|
38618
|
+
const triggers = (0, import_react4.useRef)({
|
|
38619
|
+
hover: false,
|
|
38620
|
+
focus: false
|
|
38621
|
+
});
|
|
38622
|
+
const suppressAncestors = (0, import_react4.useContext)(TooltipSuppression);
|
|
38623
|
+
const [suppressed, setSuppressed] = (0, import_react4.useState)(false);
|
|
38624
|
+
const announce = (0, import_react4.useCallback)((active) => {
|
|
38625
|
+
suppressAncestors?.(active);
|
|
38626
|
+
}, [suppressAncestors]);
|
|
38627
|
+
const visible = pos !== null && !disabled;
|
|
38628
|
+
(0, import_react4.useEffect)(() => {
|
|
38629
|
+
const el = bubble.current;
|
|
38630
|
+
if (pos === null || !visible || suppressed || el === null) return;
|
|
38631
|
+
const edgeMargin = 12;
|
|
38632
|
+
let size;
|
|
38633
|
+
let placement = side;
|
|
38634
|
+
const fit = () => {
|
|
38635
|
+
if (size === void 0) return;
|
|
38636
|
+
const { inlineSize: width, blockSize: height } = size;
|
|
38637
|
+
const offset = side === "right" ? 0 : align === "end" ? width : width / 2;
|
|
38638
|
+
const left = Math.max(edgeMargin, Math.min(pos.x - offset, window.innerWidth - edgeMargin - width));
|
|
38639
|
+
const fitsBelow = pos.bottom + gap + height <= window.innerHeight - edgeMargin;
|
|
38640
|
+
const fitsAbove = pos.top - gap - height >= edgeMargin;
|
|
38641
|
+
if (placement === "bottom" && !fitsBelow && fitsAbove) placement = "top";
|
|
38642
|
+
else if (placement === "top" && !fitsAbove && fitsBelow) placement = "bottom";
|
|
38643
|
+
el.style.left = `${left + offset}px`;
|
|
38644
|
+
el.style.top = `${placement === "right" ? (pos.top + pos.bottom) / 2 : placement === "top" ? pos.top - gap : pos.bottom + gap}px`;
|
|
38645
|
+
el.dataset.side = placement;
|
|
38646
|
+
el.style.visibility = "visible";
|
|
38647
|
+
};
|
|
38648
|
+
const observer = new ResizeObserver((entries) => {
|
|
38649
|
+
size = entries[0]?.borderBoxSize[0];
|
|
38650
|
+
fit();
|
|
38651
|
+
});
|
|
38652
|
+
observer.observe(el, { box: "border-box" });
|
|
38653
|
+
window.addEventListener("resize", fit);
|
|
38654
|
+
return () => {
|
|
38655
|
+
observer.disconnect();
|
|
38656
|
+
window.removeEventListener("resize", fit);
|
|
38657
|
+
};
|
|
38658
|
+
}, [
|
|
38659
|
+
align,
|
|
38660
|
+
gap,
|
|
38661
|
+
pos,
|
|
38662
|
+
side,
|
|
38663
|
+
suppressed,
|
|
38664
|
+
visible
|
|
38665
|
+
]);
|
|
38666
|
+
(0, import_react4.useEffect)(() => {
|
|
38667
|
+
announce(visible);
|
|
38668
|
+
return () => {
|
|
38669
|
+
announce(false);
|
|
38670
|
+
};
|
|
38671
|
+
}, [announce, visible]);
|
|
38672
|
+
const cancelShow = (0, import_react4.useCallback)(() => {
|
|
38673
|
+
if (showTimer.current === null) return;
|
|
38674
|
+
clearTimeout(showTimer.current);
|
|
38675
|
+
showTimer.current = null;
|
|
38676
|
+
}, []);
|
|
38677
|
+
(0, import_react4.useEffect)(() => {
|
|
38678
|
+
if (pinned && (disabled || !openOnClick)) setPinned(false);
|
|
38679
|
+
if (disabled) {
|
|
38680
|
+
cancelShow();
|
|
38681
|
+
triggers.current = {
|
|
38682
|
+
hover: false,
|
|
38683
|
+
focus: false
|
|
38684
|
+
};
|
|
38685
|
+
setPos(null);
|
|
38686
|
+
}
|
|
38687
|
+
return cancelShow;
|
|
38688
|
+
}, [
|
|
38689
|
+
cancelShow,
|
|
38690
|
+
disabled,
|
|
38691
|
+
openOnClick,
|
|
38692
|
+
pinned
|
|
38693
|
+
]);
|
|
38694
|
+
const show = () => {
|
|
38695
|
+
if (disabled) return;
|
|
38696
|
+
const el = anchor.current;
|
|
38697
|
+
if (el === null) return;
|
|
38698
|
+
const r5 = el.getBoundingClientRect();
|
|
38699
|
+
setPos({
|
|
38700
|
+
x: side === "right" ? r5.right + 10 : align === "end" ? r5.right : r5.left + r5.width / 2,
|
|
38701
|
+
top: r5.top,
|
|
38702
|
+
bottom: r5.bottom
|
|
38703
|
+
});
|
|
38704
|
+
announce(true);
|
|
38705
|
+
};
|
|
38706
|
+
const showAfterDelay = (delay) => {
|
|
38707
|
+
cancelShow();
|
|
38708
|
+
if (delay <= 0) {
|
|
38709
|
+
show();
|
|
38710
|
+
return;
|
|
38711
|
+
}
|
|
38712
|
+
showTimer.current = setTimeout(() => {
|
|
38713
|
+
showTimer.current = null;
|
|
38714
|
+
show();
|
|
38715
|
+
}, delay);
|
|
38716
|
+
};
|
|
38717
|
+
const withdraw = (0, import_react4.useCallback)(() => {
|
|
38718
|
+
setPinned(false);
|
|
38719
|
+
setPos(null);
|
|
38720
|
+
announce(false);
|
|
38721
|
+
}, [announce]);
|
|
38722
|
+
const hide = () => {
|
|
38723
|
+
cancelShow();
|
|
38724
|
+
if (!triggers.current.hover && !triggers.current.focus && !pinned) withdraw();
|
|
38725
|
+
};
|
|
38726
|
+
const dismiss = (0, import_react4.useCallback)(() => {
|
|
38727
|
+
cancelShow();
|
|
38728
|
+
triggers.current = {
|
|
38729
|
+
hover: false,
|
|
38730
|
+
focus: false
|
|
38731
|
+
};
|
|
38732
|
+
withdraw();
|
|
38733
|
+
}, [cancelShow, withdraw]);
|
|
38734
|
+
useDismissOnOutsidePointer(anchor, openOnClick && visible, dismiss, bubble);
|
|
38735
|
+
(0, import_react4.useEffect)(() => {
|
|
38736
|
+
if (!openOnClick || !visible) return;
|
|
38737
|
+
const onKeyDown = (event) => {
|
|
38738
|
+
if (event.key !== "Escape" && event.key !== "Tab") return;
|
|
38739
|
+
if (event.key === "Escape") {
|
|
38740
|
+
event.preventDefault();
|
|
38741
|
+
event.stopPropagation();
|
|
38742
|
+
}
|
|
38743
|
+
dismiss();
|
|
38744
|
+
};
|
|
38745
|
+
document.addEventListener("keydown", onKeyDown, true);
|
|
38746
|
+
return () => {
|
|
38747
|
+
document.removeEventListener("keydown", onKeyDown, true);
|
|
38748
|
+
};
|
|
38749
|
+
}, [
|
|
38750
|
+
dismiss,
|
|
38751
|
+
openOnClick,
|
|
38752
|
+
visible
|
|
38753
|
+
]);
|
|
38754
|
+
const content3 = visible && !suppressed && (0, import_jsx_runtime.jsxs)("span", {
|
|
38755
|
+
ref: bubble,
|
|
38756
|
+
id: openOnClick ? id : void 0,
|
|
38757
|
+
className: Tooltip_default.bubble,
|
|
38758
|
+
"data-side": side,
|
|
38759
|
+
"data-portal": portal || void 0,
|
|
38760
|
+
"data-pinned": pinned || void 0,
|
|
38761
|
+
"data-align": align,
|
|
38762
|
+
"data-has-shortcut": shortcutKeys?.length ? true : void 0,
|
|
38763
|
+
style: {
|
|
38764
|
+
left: pos.x,
|
|
38765
|
+
top: y3,
|
|
38766
|
+
visibility: "hidden",
|
|
38767
|
+
...maxWidth === void 0 ? {} : { maxWidth }
|
|
38768
|
+
},
|
|
38769
|
+
role: "tooltip",
|
|
38770
|
+
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
38771
|
+
children: [resolvedLabel && (0, import_jsx_runtime.jsx)("span", {
|
|
38772
|
+
className: Tooltip_default.label,
|
|
38773
|
+
children: resolvedLabel
|
|
38774
|
+
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && (0, import_jsx_runtime.jsx)(ShortcutKeys, {
|
|
38775
|
+
keys: shortcutKeys,
|
|
38776
|
+
variant: "tooltip"
|
|
38777
|
+
})]
|
|
38778
|
+
});
|
|
38779
|
+
return (0, import_jsx_runtime.jsxs)(TooltipSuppression.Provider, {
|
|
38780
|
+
value: setSuppressed,
|
|
38781
|
+
children: [(0, import_react4.cloneElement)(children, {
|
|
38782
|
+
ref: mergedRef,
|
|
38783
|
+
"aria-describedby": openOnClick && visible ? [children.props["aria-describedby"], id].filter(Boolean).join(" ") : children.props["aria-describedby"],
|
|
38784
|
+
onMouseEnter: (e) => {
|
|
38785
|
+
children.props.onMouseEnter?.(e);
|
|
38786
|
+
triggers.current.hover = true;
|
|
38787
|
+
showAfterDelay(delayMs);
|
|
38788
|
+
},
|
|
38789
|
+
onMouseLeave: (e) => {
|
|
38790
|
+
children.props.onMouseLeave?.(e);
|
|
38791
|
+
triggers.current.hover = false;
|
|
38792
|
+
cancelShow();
|
|
38793
|
+
if (!pinned) withdraw();
|
|
38794
|
+
},
|
|
38795
|
+
onClick: (e) => {
|
|
38796
|
+
children.props.onClick?.(e);
|
|
38797
|
+
triggers.current.focus = false;
|
|
38798
|
+
cancelShow();
|
|
38799
|
+
if (openOnClick && !disabled && !pinned) {
|
|
38800
|
+
setPinned(true);
|
|
38801
|
+
show();
|
|
38802
|
+
} else withdraw();
|
|
38803
|
+
},
|
|
38804
|
+
onFocus: (e) => {
|
|
38805
|
+
children.props.onFocus?.(e);
|
|
38806
|
+
if (pointerModality()) return;
|
|
38807
|
+
triggers.current.focus = true;
|
|
38808
|
+
showAfterDelay(focusDelayMs);
|
|
38809
|
+
},
|
|
38810
|
+
onBlur: (e) => {
|
|
38811
|
+
children.props.onBlur?.(e);
|
|
38812
|
+
triggers.current.focus = false;
|
|
38813
|
+
hide();
|
|
38814
|
+
}
|
|
38815
|
+
}), portal ? content3 !== false && (0, import_react_dom.createPortal)(content3, document.body) : content3]
|
|
38816
|
+
});
|
|
38817
|
+
}
|
|
38781
38818
|
var HOLD_MS = 3e3;
|
|
38782
38819
|
var FADE_MS = 1e3;
|
|
38783
38820
|
function Toast({ text: text6, icon, tone, anchor, holdMs = HOLD_MS, actions, onDone }) {
|
|
@@ -39021,6 +39058,7 @@ var regexEngine = createJavaScriptRegexEngine({
|
|
|
39021
39058
|
forgiving: true,
|
|
39022
39059
|
regexConstructor: (pattern) => defaultJavaScriptRegexConstructor(pattern, { lazyCompileLength: Number.POSITIVE_INFINITY })
|
|
39023
39060
|
});
|
|
39061
|
+
var TOKENIZE_MAX_LINE_LENGTH = 1e3;
|
|
39024
39062
|
var singleton;
|
|
39025
39063
|
var BOOT_GRAMMAR_WARMUPS = [
|
|
39026
39064
|
{
|
|
@@ -39088,7 +39126,8 @@ function highlightToHtml(code2, lang76) {
|
|
|
39088
39126
|
if (!ensureGrammar(resolved)) return void 0;
|
|
39089
39127
|
return highlighter().codeToHtml(code2, {
|
|
39090
39128
|
lang: resolved,
|
|
39091
|
-
theme: "css-variables"
|
|
39129
|
+
theme: "css-variables",
|
|
39130
|
+
tokenizeMaxLineLength: TOKENIZE_MAX_LINE_LENGTH
|
|
39092
39131
|
});
|
|
39093
39132
|
}
|
|
39094
39133
|
var DECORATION_BITS = [[4, "underline"], [8, "line-through"]];
|
|
@@ -39144,6 +39183,7 @@ var StreamingHighlightSession = class {
|
|
|
39144
39183
|
return highlighter().codeToTokensBase(text6, {
|
|
39145
39184
|
lang: resolved,
|
|
39146
39185
|
theme: "css-variables",
|
|
39186
|
+
tokenizeMaxLineLength: TOKENIZE_MAX_LINE_LENGTH,
|
|
39147
39187
|
...this.state === void 0 ? {} : { grammarState: this.state }
|
|
39148
39188
|
});
|
|
39149
39189
|
}
|
|
@@ -40151,31 +40191,34 @@ function ImageLightbox({ src, alt, labels: labels2, onClose }) {
|
|
|
40151
40191
|
restoreRef.current?.focus();
|
|
40152
40192
|
};
|
|
40153
40193
|
}, [onClose]);
|
|
40154
|
-
return (0, import_react_dom.createPortal)((0, import_jsx_runtime.
|
|
40194
|
+
return (0, import_react_dom.createPortal)((0, import_jsx_runtime.jsx)("div", {
|
|
40155
40195
|
className: ImageLightbox_default.backdrop,
|
|
40156
40196
|
role: "dialog",
|
|
40157
40197
|
"aria-modal": "true",
|
|
40158
40198
|
"aria-label": labels2.dialog,
|
|
40159
|
-
children:
|
|
40160
|
-
|
|
40161
|
-
|
|
40162
|
-
|
|
40163
|
-
|
|
40164
|
-
|
|
40165
|
-
|
|
40166
|
-
|
|
40167
|
-
|
|
40168
|
-
|
|
40169
|
-
|
|
40170
|
-
|
|
40171
|
-
|
|
40172
|
-
|
|
40173
|
-
|
|
40174
|
-
|
|
40175
|
-
|
|
40176
|
-
|
|
40177
|
-
|
|
40178
|
-
|
|
40199
|
+
children: (0, import_jsx_runtime.jsxs)("div", {
|
|
40200
|
+
className: ImageLightbox_default.stage,
|
|
40201
|
+
children: [
|
|
40202
|
+
(0, import_jsx_runtime.jsx)("div", {
|
|
40203
|
+
className: ImageLightbox_default.mask,
|
|
40204
|
+
"aria-hidden": "true",
|
|
40205
|
+
onMouseDown: onClose
|
|
40206
|
+
}),
|
|
40207
|
+
(0, import_jsx_runtime.jsx)("img", {
|
|
40208
|
+
className: ImageLightbox_default.image,
|
|
40209
|
+
src,
|
|
40210
|
+
alt
|
|
40211
|
+
}),
|
|
40212
|
+
(0, import_jsx_runtime.jsx)("button", {
|
|
40213
|
+
ref: closeRef,
|
|
40214
|
+
type: "button",
|
|
40215
|
+
className: ImageLightbox_default.close,
|
|
40216
|
+
"aria-label": labels2.close,
|
|
40217
|
+
onClick: onClose,
|
|
40218
|
+
children: (0, import_jsx_runtime.jsx)(IconCloseOutlineRegular, { size: 16 })
|
|
40219
|
+
})
|
|
40220
|
+
]
|
|
40221
|
+
})
|
|
40179
40222
|
}), document.body);
|
|
40180
40223
|
}
|
|
40181
40224
|
function ImagePreview({ src, alt, loadingLabel, failedLabel }) {
|
|
@@ -40968,7 +41011,7 @@ function StreamMark({ size = 24 }) {
|
|
|
40968
41011
|
// apps/shared/src/brand.ts
|
|
40969
41012
|
var BRAND = {
|
|
40970
41013
|
id: "streamnest",
|
|
40971
|
-
version: "0.0.
|
|
41014
|
+
version: "0.0.4",
|
|
40972
41015
|
name: "\u62FE\u6D41",
|
|
40973
41016
|
englishName: "StreamNest",
|
|
40974
41017
|
description: "\u89E3\u6790\u97F3\u89C6\u9891\u94FE\u63A5\uFF0C\u9009\u62E9\u753B\u8D28\u5E76\u4FDD\u5B58\u5230\u672C\u673A\uFF1B\u9875\u9762\u4E0E Agent \u5171\u7528\u540C\u4E00\u4E0B\u8F7D\u961F\u5217\u3002",
|