dsh-transparent-ui 1.3.21 → 1.3.23

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.md CHANGED
@@ -27,10 +27,12 @@ Distributed under [GNU AGPL-3.0](<LICENSE>); package metadata declares `AGPL-3.0
27
27
  | --- | --- |
28
28
  | Plugin package | `dsh-transparent-ui` |
29
29
  | Current plugin version | See [`package.json`](package.json) |
30
- | Target DSH version | Desktop `0.2.0-rc.2` |
30
+ | Target DSH version | Desktop `0.2.0-rc.2` and `0.2.1-rc.2` |
31
31
  | Desktop profile | `desktop` |
32
32
  | Recommended installation | This GitHub repository, branch `main` |
33
33
 
34
+ Sidebar typography and compact spacing use the existing Aqua `data-*` theme gates and sidebar-root/row hooks, plus CSS-module class suffixes observed in the desktop UI (including better-sidebar). There is no official sidebar-density API: these CSS selectors are compatibility assumptions, not stable host contracts. A DSH or sidebar-plugin DOM/class change can make individual adjustments stop matching; recheck expanded/collapsed sidebars, long titles, large fonts and native window dragging after upgrades. DOM tests cannot establish Electron native drag safety.
35
+
34
36
  Other DSH versions are not guaranteed. A working legacy Web CLI does not prove compatibility with the desktop Host. Do not use an older `dsh` CLI to modify the desktop profile.
35
37
 
36
38
  ## Install and upgrade
@@ -70,6 +72,8 @@ The master switch and controls are in **Settings → General**. The master switc
70
72
 
71
73
  - **Mica mode:** floating glass panes and themed layout. Toolbar, composer/statistics wrapper and settings panel share the same primary glass material.
72
74
  - **Compatibility mode:** retains the host layout as much as possible and applies a more conservative glass treatment. Blur/frost controls are shown in Mica mode.
75
+ - **Sidebar font size:** uses a native-style numeric stepper, without a slider (default 16px, 12–22px in whole pixels). Navigation and workspace names use the selected base size, session titles are 1px smaller, and timestamps are 3px smaller (for example 15/14/12px), all with line-height 1.5. Changes persist locally and work in both modes; conversation text and settings panel typography are unchanged. Disabling the theme restores native sidebar typography.
76
+ - **Sidebar density:** **Regular** (default) preserves the current spacing exactly; **Compact** reduces brand/navigation/workspace-group whitespace and tree-row padding/height, without hiding titles, timestamps, controls or groups. It is independent of Mica/Compatibility mode and sidebar font size, and never applies global zoom or changes chat typography. The preference persists under `dsh.ui-aqua.sidebarDensity`; missing/invalid values fall back to Regular. Disabling/unloading Aqua removes the density attribute and overrides but retains the preference. Collapsed-sidebar geometry and native drag regions are not changed by this control.
73
77
  - **Sidebar fluid:** the fluid canvas follows the left sidebar's actual width, including resize/collapse. Hue and color depth are adjustable; the fluid no longer fills the chat column.
74
78
  - **Image/video wallpaper:** an alternative backdrop with separate media controls. Availability depends on browser storage, file access and media decoding.
75
79
  - **Particle whale, small fish and interactive mesh:** independently switchable background decorations. Brightness adjustment sits below the decorations, so brightening the board does not whiten them out. Foreground cards, modal masks and glass blur can still obscure them normally.
@@ -93,7 +97,7 @@ Blur and frost are different controls: **blur softens background detail**, while
93
97
  The toolbar, composer and settings panel share these primary material values. They can still look different because of different backdrop content, modal masks and shadows. The fused composer/statistics bar uses **one outer glass plate**, not two stacked fills. Other small surfaces may retain their own base alpha recipes.
94
98
 
95
99
  > [!NOTE]
96
- > With Aqua enabled, the floating conversation toolbar and its descendants are **non-draggable** to avoid Electron window-drag regions consuming clicks. Use other window drag areas. The plugin does not change those other regions.
100
+ > The attempted toolbar-drag restoration has been reverted. CSS currently marks every `header[data-window-drag]` and its descendants as `no-drag`, not just conversation toolbars; other drag regions are unaffected. This is a rollback, not proof that window dragging or the Add plugin button is fixed. Chromium/DOM tests do not exercise Electron's native app-region hit testing; dragging and button interaction still require acceptance testing in the desktop application.
97
101
 
98
102
  ## What this fork changes
99
103
 
@@ -137,7 +141,7 @@ The [browser regression](<test/toolbar.browser.mjs>) uses an isolated headless f
137
141
 
138
142
  ### Verification boundaries
139
143
 
140
- - `npm test`: simulated DOM lifecycle/settings/material checks and instrumented Canvas draw calls; not a GPU visual test.
144
+ - `npm test`: simulated DOM lifecycle/settings/material checks and instrumented Canvas draw calls; not a GPU visual test. Settings and density regressions compile the current client source in memory, without rewriting the shipped `lib/` bundle. Density checks cover Regular restoration, Compact scoping, disabled/collapsed states, persistence/fallback, both store mirrors and actual settings-button wiring; simulated DOM geometry snapshots are not live browser reflow or native drag acceptance.
141
145
  - `npm run test:browser`: real Chromium fixture hit-testing; **not** attachment to the live DSH desktop or a test of Electron's macOS native input routing.
142
146
  - Live desktop acceptance is still required for the latest toolbar fix, native window behavior, video/WebGL and combinations with other plugins.
143
147
 
package/docs/zh.md CHANGED
@@ -27,10 +27,12 @@ Aqua 为 DeepSeek Harness 提供可调节的玻璃质感主题:会话顶部操
27
27
  | --- | --- |
28
28
  | 插件包名 | `dsh-transparent-ui` |
29
29
  | 当前插件版本 | 见 [`package.json`](../package.json) |
30
- | 目标 DSH 版本 | 桌面版 `0.2.0-rc.2` |
30
+ | 目标 DSH 版本 | 桌面版 `0.2.0-rc.2` 与 `0.2.1-rc.2` |
31
31
  | 桌面配置 Profile | `desktop` |
32
32
  | 推荐安装来源 | 本 GitHub 仓库的 `main` 分支 |
33
33
 
34
+ 侧栏字号和紧凑留白沿用 Aqua 的 `data-*` 主题门控、侧栏根/树行标记,并使用在桌面界面(含 better-sidebar)观察到的 CSS Module 类名后缀。宿主没有官方侧栏密度 API:这些 CSS selector 是兼容假设,不是稳定宿主契约。DSH 或侧栏插件的 DOM/类名变动可能导致部分调节不再匹配;升级后须重新检查展开/折叠侧栏、长标题、大字号和原生拖窗。DOM 测试不能证明 Electron 原生拖动安全。
35
+
34
36
  其他 DSH 版本不保证兼容。旧版 Web CLI 可以运行,不代表它与桌面 Host 兼容;不要使用旧版 `dsh` CLI 修改桌面 Profile。
35
37
 
36
38
  ## 安装与更新
@@ -70,6 +72,8 @@ dsh plugin --profile web add dsh-client-ui-aqua
70
72
 
71
73
  - **云母效果:**使用悬浮玻璃片和主题布局。顶栏、输入框/统计栏外层、设置面板共用主玻璃材质。
72
74
  - **兼容模式:**尽量保留宿主排版,采用较保守的玻璃处理。玻璃模糊度和磨砂度调节项在云母模式显示。
75
+ - **侧栏字号:**使用原生风格数值步进器(无滑块),默认 16px,可选 12–22px 整数。左侧导航和工作区名称使用设定值,会话标题小 1px,辅助时间小 3px(例如 15/14/12px),行高 1.5。设置本地持久化,云母和兼容模式均生效,不改变聊天正文及设置面板字号;关闭主题恢复原生侧栏排版。
76
+ - **侧栏密度:****常规**(默认)精确保留现有留白;**紧凑**压缩品牌、导航、工作区分组留白及树行 padding/高度,不隐藏标题、时间、操作或分组。它与云母/兼容模式、侧栏字号独立,不做全局缩放,也不改变聊天字体。偏好保存于 `dsh.ui-aqua.sidebarDensity`,缺失或非法值回退常规。关闭/卸载 Aqua 会移除密度属性及覆盖样式,但保留偏好;此开关不改变折叠侧栏几何或原生拖动区域。
73
77
  - **侧栏流体:**流体画布随左侧栏实际宽度调整,支持缩放和折叠;可调色调、颜色深浅,不再铺满聊天主区域。
74
78
  - **图片/视频壁纸:**作为另一种背景来源,提供独立媒体调节;可用性取决于浏览器存储、文件访问权限和解码能力。
75
79
  - **粒子鲸鱼、小鱼、网状交互:**可分别开关的背景装饰。亮度遮罩位于装饰下方,提亮背景不会将装饰一起冲淡;前景卡片、弹窗遮罩和玻璃模糊仍会正常遮盖它们。
@@ -93,7 +97,7 @@ dsh plugin --profile web add dsh-client-ui-aqua
93
97
  顶栏、输入栏、设置面板共用这些主材质参数;背后的内容、弹窗遮罩与阴影不同,视觉观感仍可能不同。输入框与统计栏融合时只由**一个外层玻璃片**承载材质,不重复叠加填充。其他小型表面可能保留各自的基础透明度配方。
94
98
 
95
99
  > [!NOTE]
96
- > 启用 Aqua 后,浮动会话顶栏及其子元素**不作为窗口拖拽区域**,避免 Electron 原生拖拽区域吞掉点击。请使用窗口其他拖拽区域;插件不修改这些其他区域。
100
+ > 已撤回上一轮恢复顶栏空白拖动的改动。当前 CSS 将所有匹配 `header[data-window-drag]` 的元素及其子树设为 `no-drag`,不限于会话顶栏;其他拖动区域不在该规则范围内。这仅是止损回退,并非拖窗或“添加插件”按钮的修复结论。普通 Chromium/DOM 测试不执行 Electron 原生 app-region 命中,不能据此证明真实桌面可拖动或按钮可点击;须在真实 App 中验收。
97
101
 
98
102
  ## 本分支的适配内容
99
103
 
@@ -137,7 +141,7 @@ DSH_TEST_CHROME='/path/to/chrome' npm run test:browser
137
141
 
138
142
  ### 验证边界
139
143
 
140
- - `npm test`:模拟 DOM 的生命周期、设置和材质检查,以及带记录的 Canvas 绘制调用;不是 GPU 视觉测试。
144
+ - `npm test`:模拟 DOM 的生命周期、设置和材质检查,以及带记录的 Canvas 绘制调用;不是 GPU 视觉测试。设置与密度回归在内存编译当前客户端源码,不改写已随包提供的 `lib/` 构建产物;密度检查覆盖常规恢复、紧凑作用域、主题关闭/侧栏折叠、持久化/非法值回退、双 store 同步及真实设置按钮 wiring。模拟 DOM 几何快照不等于浏览器实时重排或原生拖动验收。
141
145
  - `npm run test:browser`:真实 Chromium 测试页的命中检查;**不会连接真实 DSH 桌面,也不能验证 Electron 的 macOS 原生输入路由**。
142
146
  - 最新顶栏修复、原生窗口行为、视频/WebGL、与其他插件组合,仍需要真实桌面验收。
143
147
 
package/icon.svg CHANGED
@@ -1,35 +1,23 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64">
2
- <title>Aqua glass droplet</title>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 256 256">
2
+ <title>Aqua — iridescent glass droplet</title>
3
3
  <defs>
4
- <linearGradient id="aqua-body" x1="18" y1="12" x2="46" y2="57" gradientUnits="userSpaceOnUse">
5
- <stop stop-color="#97F6FF"/>
6
- <stop offset=".42" stop-color="#34CFEA"/>
7
- <stop offset="1" stop-color="#4263F4"/>
4
+ <linearGradient id="body" x1="64" y1="48" x2="178" y2="223" gradientUnits="userSpaceOnUse">
5
+ <stop stop-color="#00E9FF"/><stop offset=".34" stop-color="#39BFFF"/><stop offset=".64" stop-color="#B8B1FF"/><stop offset=".85" stop-color="#F6D8FF"/><stop offset="1" stop-color="#FAF6FF"/>
8
6
  </linearGradient>
9
- <linearGradient id="aqua-edge" x1="19" y1="10" x2="45" y2="58" gradientUnits="userSpaceOnUse">
10
- <stop stop-color="#D8FCFF"/>
11
- <stop offset=".55" stop-color="#72E1FF"/>
12
- <stop offset="1" stop-color="#587CFF"/>
13
- </linearGradient>
14
- <linearGradient id="aqua-wave" x1="12" y1="34" x2="48" y2="51" gradientUnits="userSpaceOnUse">
15
- <stop stop-color="#9FFFF3"/>
16
- <stop offset="1" stop-color="#25B8DE"/>
17
- </linearGradient>
18
- <linearGradient id="aqua-gloss" x1="23" y1="19" x2="35" y2="39" gradientUnits="userSpaceOnUse">
19
- <stop stop-color="white" stop-opacity=".85"/>
20
- <stop offset="1" stop-color="white" stop-opacity=".1"/>
21
- </linearGradient>
22
- <clipPath id="aqua-clip">
23
- <path d="M32 7C28 14 12 29 12 39a20 20 0 0 0 40 0C52 29 36 14 32 7Z"/>
24
- </clipPath>
7
+ <radialGradient id="pearl" cx=".76" cy=".65" r=".66"><stop stop-color="#FFF3FF" stop-opacity=".96"/><stop offset="1" stop-color="#F0DCFF" stop-opacity="0"/></radialGradient>
8
+ <linearGradient id="rim" x1="53" y1="49" x2="191" y2="221" gradientUnits="userSpaceOnUse"><stop stop-color="#06EEFF"/><stop offset=".45" stop-color="#98C4FF"/><stop offset=".75" stop-color="#EDBFFF"/><stop offset="1" stop-color="#FFFFFF"/></linearGradient>
9
+ <linearGradient id="shine" x1="73" y1="67" x2="101" y2="158" gradientUnits="userSpaceOnUse"><stop stop-color="#D5FFFF" stop-opacity=".95"/><stop offset="1" stop-color="#FFFFFF" stop-opacity="0"/></linearGradient>
10
+ <filter id="glow" x="-25%" y="-25%" width="150%" height="150%"><feGaussianBlur stdDeviation="3"/></filter>
11
+ <filter id="soft" x="-40%" y="-40%" width="180%" height="180%"><feGaussianBlur stdDeviation="9"/></filter>
12
+ <clipPath id="drop"><path d="M128 29C117 29 109 46 97 62C76 91 49 123 49 153C49 197 83 227 128 227C173 227 207 197 207 153C207 123 180 91 159 62C147 46 139 29 128 29Z"/></clipPath>
25
13
  </defs>
26
- <path d="M32 7C28 14 12 29 12 39a20 20 0 0 0 40 0C52 29 36 14 32 7Z" fill="url(#aqua-body)"/>
27
- <g clip-path="url(#aqua-clip)">
28
- <path d="M10 38c9-7 16-7 24-2 8 5 13 5 20 1v26H10Z" fill="url(#aqua-wave)" fill-opacity=".8"/>
29
- <path d="M10 46c9 5 16 5 24 0s13-5 20-1v18H10Z" fill="#4364F2" fill-opacity=".7"/>
30
- <path d="M12 38c8-6 14-6 22-2s13 5 18 2" fill="none" stroke="#D4FFFF" stroke-opacity=".65" stroke-width="1.5"/>
14
+ <path d="M128 29C117 29 109 46 97 62C76 91 49 123 49 153C49 197 83 227 128 227C173 227 207 197 207 153C207 123 180 91 159 62C147 46 139 29 128 29Z" fill="none" stroke="url(#rim)" stroke-width="5" opacity=".5" filter="url(#glow)"/>
15
+ <path d="M128 29C117 29 109 46 97 62C76 91 49 123 49 153C49 197 83 227 128 227C173 227 207 197 207 153C207 123 180 91 159 62C147 46 139 29 128 29Z" fill="url(#body)" stroke="url(#rim)" stroke-width="2.5"/>
16
+ <g clip-path="url(#drop)">
17
+ <ellipse cx="161" cy="161" rx="74" ry="78" fill="url(#pearl)"/>
18
+ <path d="M67 173C100 140 124 196 187 162" fill="none" stroke="#897EFF" stroke-opacity=".45" stroke-width="18" filter="url(#soft)"/>
19
+ <path d="M62 160C99 136 124 190 195 160" fill="none" stroke="#FFFFFF" stroke-opacity=".52" stroke-width="4" stroke-linecap="round"/>
20
+ <path d="M112 62C97 86 72 119 69 145" fill="none" stroke="url(#shine)" stroke-width="11" stroke-linecap="round" filter="url(#glow)"/>
21
+ <path d="M69 188C90 218 150 231 180 201" fill="none" stroke="#FFFFFF" stroke-opacity=".65" stroke-width="6" filter="url(#glow)"/>
31
22
  </g>
32
- <path d="M32 7C28 14 12 29 12 39a20 20 0 0 0 40 0C52 29 36 14 32 7Z" fill="none" stroke="url(#aqua-edge)" stroke-width="1.5" stroke-linejoin="round"/>
33
- <path d="M29 19c-5 6-11 13-11 19" fill="none" stroke="url(#aqua-gloss)" stroke-width="4" stroke-linecap="round"/>
34
- <path d="m47 11 1.5 4.5L53 17l-4.5 1.5L47 23l-1.5-4.5L41 17l4.5-1.5Z" fill="#AEF9FF"/>
35
23
  </svg>
package/lib/client.js CHANGED
@@ -77,14 +77,14 @@ var import_react = require("react");
77
77
  var import_dsh_client_ui_primitives2 = require("@deepseek-ai/dsh-client-ui-primitives");
78
78
 
79
79
  // src/client/AquaAppearanceRow.module.css
80
- var AquaAppearanceRow_default = { group: "AquaAppearanceRow_group", subGroup: "AquaAppearanceRow_subGroup", subTitle: "AquaAppearanceRow_subTitle", controls: "AquaAppearanceRow_controls", row: "AquaAppearanceRow_row", rowLabel: "AquaAppearanceRow_rowLabel", inlineLabel: "AquaAppearanceRow_inlineLabel", rowHint: "AquaAppearanceRow_rowHint", groupHint: "AquaAppearanceRow_groupHint", knobHint: "AquaAppearanceRow_knobHint", toggle: "AquaAppearanceRow_toggle", toggleOn: "AquaAppearanceRow_toggleOn", check: "AquaAppearanceRow_check", knob: "AquaAppearanceRow_knob", knobLabel: "AquaAppearanceRow_knobLabel", slider: "AquaAppearanceRow_slider", numberWrap: "AquaAppearanceRow_numberWrap", number: "AquaAppearanceRow_number", unit: "AquaAppearanceRow_unit", segmented: "AquaAppearanceRow_segmented", seg: "AquaAppearanceRow_seg", segActive: "AquaAppearanceRow_segActive", wallpaperPick: "AquaAppearanceRow_wallpaperPick", fileInput: "AquaAppearanceRow_fileInput", pickButton: "AquaAppearanceRow_pickButton", deleteButton: "AquaAppearanceRow_deleteButton" };
80
+ var AquaAppearanceRow_default = { group: "AquaAppearanceRow_group", fontRow: "AquaAppearanceRow_fontRow", fontTitle: "AquaAppearanceRow_fontTitle", fontControl: "AquaAppearanceRow_fontControl", fontStepper: "AquaAppearanceRow_fontStepper", fontValue: "AquaAppearanceRow_fontValue", fontArrows: "AquaAppearanceRow_fontArrows", fontArrow: "AquaAppearanceRow_fontArrow", fontUnit: "AquaAppearanceRow_fontUnit", subGroup: "AquaAppearanceRow_subGroup", subTitle: "AquaAppearanceRow_subTitle", controls: "AquaAppearanceRow_controls", row: "AquaAppearanceRow_row", rowLabel: "AquaAppearanceRow_rowLabel", inlineLabel: "AquaAppearanceRow_inlineLabel", rowHint: "AquaAppearanceRow_rowHint", groupHint: "AquaAppearanceRow_groupHint", knobHint: "AquaAppearanceRow_knobHint", toggle: "AquaAppearanceRow_toggle", toggleOn: "AquaAppearanceRow_toggleOn", check: "AquaAppearanceRow_check", knob: "AquaAppearanceRow_knob", knobLabel: "AquaAppearanceRow_knobLabel", slider: "AquaAppearanceRow_slider", numberWrap: "AquaAppearanceRow_numberWrap", number: "AquaAppearanceRow_number", unit: "AquaAppearanceRow_unit", segmented: "AquaAppearanceRow_segmented", seg: "AquaAppearanceRow_seg", segActive: "AquaAppearanceRow_segActive", wallpaperPick: "AquaAppearanceRow_wallpaperPick", fileInput: "AquaAppearanceRow_fileInput", pickButton: "AquaAppearanceRow_pickButton", deleteButton: "AquaAppearanceRow_deleteButton" };
81
81
  var stdin_default2 = AquaAppearanceRow_default;
82
82
  var id2 = "@deepseek-ai/dsh-client-ui-aqua/AquaAppearanceRow.module.css";
83
83
  if (typeof document !== "undefined" && !document.querySelector("style[data-plugin-css=" + JSON.stringify(id2) + "]")) {
84
84
  const tag = document.createElement("style");
85
85
  tag.dataset.plugin = "dsh-transparent-ui";
86
86
  tag.dataset.pluginCss = id2;
87
- tag.textContent = ".AquaAppearanceRow_group{display:flex;flex-direction:column;gap:14px;padding:8px 0 16px;border-bottom:1px solid var(--dsw-alias-border-l2)}.AquaAppearanceRow_subGroup{display:flex;flex-direction:column;gap:8px}.AquaAppearanceRow_subTitle{font-size:13px;line-height:20px;font-weight:600;color:var(--dsw-alias-label-primary)}.AquaAppearanceRow_controls{display:flex;flex-direction:column;gap:10px}.AquaAppearanceRow_row{display:flex;align-items:center;gap:10px}.AquaAppearanceRow_rowLabel{flex:none;width:92px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}.AquaAppearanceRow_inlineLabel{flex:none;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}.AquaAppearanceRow_rowHint{margin-top:-4px;margin-left:102px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_groupHint{margin-top:-4px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_knobHint{margin-top:-4px;margin-left:102px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_toggle,.AquaAppearanceRow_toggleOn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border:1px solid var(--dsw-alias-border-l2);border-radius:14px;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-primary);cursor:pointer}.AquaAppearanceRow_toggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.AquaAppearanceRow_toggleOn{border-color:transparent;background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-state-business-primary)}.AquaAppearanceRow_check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.AquaAppearanceRow_knob{display:flex;align-items:center;gap:10px}.AquaAppearanceRow_knobLabel{flex:none;width:92px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}.AquaAppearanceRow_slider{flex:1;min-width:0;accent-color:var(--dsw-alias-state-business-primary)}.AquaAppearanceRow_numberWrap{flex:none;display:inline-flex;align-items:center;gap:4px}.AquaAppearanceRow_number{width:56px;height:26px;padding:0 6px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);font-size:12px;line-height:18px;color:var(--dsw-alias-label-primary);text-align:right}.AquaAppearanceRow_number::-webkit-outer-spin-button,.AquaAppearanceRow_number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.AquaAppearanceRow_unit{flex:none;width:18px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_segmented{display:inline-flex;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;overflow:hidden}.AquaAppearanceRow_seg,.AquaAppearanceRow_segActive{height:26px;padding:0 12px;border:none;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary);cursor:pointer}.AquaAppearanceRow_seg+.AquaAppearanceRow_seg,.AquaAppearanceRow_segActive+.AquaAppearanceRow_seg,.AquaAppearanceRow_seg+.AquaAppearanceRow_segActive{border-left:1px solid var(--dsw-alias-border-l2)}.AquaAppearanceRow_segActive{background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-state-business-primary)}.AquaAppearanceRow_wallpaperPick{display:flex;align-items:center;gap:10px}.AquaAppearanceRow_fileInput{display:none}.AquaAppearanceRow_pickButton{height:26px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-primary);cursor:pointer}.AquaAppearanceRow_pickButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.AquaAppearanceRow_deleteButton{height:26px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-error);cursor:pointer}.AquaAppearanceRow_deleteButton:hover{background:var(--dsw-alias-interactive-bg-hover)}\n";
87
+ tag.textContent = ".AquaAppearanceRow_group{display:flex;flex-direction:column;gap:14px;padding:8px 0 16px;border-bottom:1px solid var(--dsw-alias-border-l2)}.AquaAppearanceRow_fontRow{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:8px 0 16px;border-bottom:1px solid var(--dsw-alias-border-l2)}.AquaAppearanceRow_fontTitle{font-size:14px;line-height:22px;color:var(--dsw-alias-label-primary)}.AquaAppearanceRow_fontControl{display:flex;align-items:center;gap:8px;flex:none}.AquaAppearanceRow_fontStepper{position:relative;display:flex;align-items:center;justify-content:center;width:72px;height:36px;border-radius:12px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary)}.AquaAppearanceRow_fontValue{font-size:14px;line-height:22px;font-variant-numeric:tabular-nums}.AquaAppearanceRow_fontArrows{position:absolute;right:3px;display:flex;flex-direction:column;gap:2px;opacity:0}.AquaAppearanceRow_fontStepper:hover .AquaAppearanceRow_fontArrows,.AquaAppearanceRow_fontStepper:focus-within .AquaAppearanceRow_fontArrows{opacity:1}.AquaAppearanceRow_fontArrow{display:flex;align-items:center;justify-content:center;width:17px;height:12px;padding:0;border:0;border-radius:3px;background:transparent;color:inherit;cursor:pointer}.AquaAppearanceRow_fontArrow:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.AquaAppearanceRow_fontArrow:disabled{opacity:.35;cursor:default}.AquaAppearanceRow_fontArrow:focus-visible{outline:2px solid var(--dsw-alias-brand-primary)}.AquaAppearanceRow_fontUnit{font-size:14px;line-height:22px;color:var(--dsw-alias-label-secondary)}@media(hover:none){.AquaAppearanceRow_fontArrows{opacity:1}}.AquaAppearanceRow_subGroup{display:flex;flex-direction:column;gap:8px}.AquaAppearanceRow_subTitle{font-size:13px;line-height:20px;font-weight:600;color:var(--dsw-alias-label-primary)}.AquaAppearanceRow_controls{display:flex;flex-direction:column;gap:10px}.AquaAppearanceRow_row{display:flex;align-items:center;gap:10px}.AquaAppearanceRow_rowLabel{flex:none;width:92px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}.AquaAppearanceRow_inlineLabel{flex:none;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}.AquaAppearanceRow_rowHint{margin-top:-4px;margin-left:102px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_groupHint{margin-top:-4px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_knobHint{margin-top:-4px;margin-left:102px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_toggle,.AquaAppearanceRow_toggleOn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border:1px solid var(--dsw-alias-border-l2);border-radius:14px;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-primary);cursor:pointer}.AquaAppearanceRow_toggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.AquaAppearanceRow_toggleOn{border-color:transparent;background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-state-business-primary)}.AquaAppearanceRow_check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.AquaAppearanceRow_knob{display:flex;align-items:center;gap:10px}.AquaAppearanceRow_knobLabel{flex:none;width:92px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary)}.AquaAppearanceRow_slider{flex:1;min-width:0;accent-color:var(--dsw-alias-state-business-primary)}.AquaAppearanceRow_numberWrap{flex:none;display:inline-flex;align-items:center;gap:4px}.AquaAppearanceRow_number{width:56px;height:26px;padding:0 6px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-2);font-size:12px;line-height:18px;color:var(--dsw-alias-label-primary);text-align:right}.AquaAppearanceRow_number::-webkit-outer-spin-button,.AquaAppearanceRow_number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.AquaAppearanceRow_unit{flex:none;width:18px;font-size:12px;line-height:18px;color:var(--dsw-alias-label-tertiary)}.AquaAppearanceRow_segmented{display:inline-flex;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;overflow:hidden}.AquaAppearanceRow_seg,.AquaAppearanceRow_segActive{height:26px;padding:0 12px;border:none;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-secondary);cursor:pointer}.AquaAppearanceRow_seg+.AquaAppearanceRow_seg,.AquaAppearanceRow_segActive+.AquaAppearanceRow_seg,.AquaAppearanceRow_seg+.AquaAppearanceRow_segActive{border-left:1px solid var(--dsw-alias-border-l2)}.AquaAppearanceRow_segActive{background:var(--dsw-alias-state-business-tertiary);color:var(--dsw-alias-state-business-primary)}.AquaAppearanceRow_wallpaperPick{display:flex;align-items:center;gap:10px}.AquaAppearanceRow_fileInput{display:none}.AquaAppearanceRow_pickButton{height:26px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-primary);cursor:pointer}.AquaAppearanceRow_pickButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.AquaAppearanceRow_deleteButton{height:26px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:transparent;font-size:12px;line-height:18px;color:var(--dsw-alias-label-error);cursor:pointer}.AquaAppearanceRow_deleteButton:hover{background:var(--dsw-alias-interactive-bg-hover)}\n";
88
88
  document.head.appendChild(tag);
89
89
  }
90
90
 
@@ -175,6 +175,24 @@ async function fileToDataUrl(file) {
175
175
  return canvas.toDataURL("image/jpeg", 0.82);
176
176
  }
177
177
 
178
+ // src/client/SidebarFontSize.tsx
179
+ var import_jsx_runtime3 = require("react/jsx-runtime");
180
+ function SidebarFontSize({ label, increaseLabel, decreaseLabel, value, onChange }) {
181
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.fontRow, children: [
182
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.fontTitle, children: label }),
183
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.fontControl, children: [
184
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.fontStepper, role: "group", "aria-label": label, children: [
185
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.fontValue, "aria-live": "polite", children: value }),
186
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("span", { className: stdin_default2.fontArrows, children: [
187
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { type: "button", className: stdin_default2.fontArrow, "aria-label": increaseLabel, disabled: value >= 22, onClick: () => onChange(Math.min(22, value + 1)), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { width: "9", height: "9", viewBox: "0 0 16 16", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4 10 4-4 4 4", fill: "none", stroke: "currentColor" }) }) }),
188
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { type: "button", className: stdin_default2.fontArrow, "aria-label": decreaseLabel, disabled: value <= 12, onClick: () => onChange(Math.max(12, value - 1)), children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("svg", { width: "9", height: "9", viewBox: "0 0 16 16", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "m4 6 4 4 4-4", fill: "none", stroke: "currentColor" }) }) })
189
+ ] })
190
+ ] }),
191
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.fontUnit, children: "px" })
192
+ ] })
193
+ ] });
194
+ }
195
+
178
196
  // src/client/wallpaper-store.ts
179
197
  var DB_NAME = "dsh-aqua-media";
180
198
  var STORE = "wallpaper";
@@ -289,11 +307,13 @@ async function loadVideoHandle() {
289
307
  }
290
308
 
291
309
  // src/client/AquaAppearanceRow.tsx
292
- var import_jsx_runtime3 = require("react/jsx-runtime");
310
+ var import_jsx_runtime4 = require("react/jsx-runtime");
293
311
  function AquaAppearanceRow(props) {
294
312
  const {
295
313
  t,
296
314
  setMode,
315
+ setSidebarDensity,
316
+ setSidebarFontSize,
297
317
  setBlur,
298
318
  setFrost,
299
319
  setFluidHue,
@@ -315,6 +335,8 @@ function AquaAppearanceRow(props) {
315
335
  } = props;
316
336
  const enabled = useStore((s) => s.enabled);
317
337
  const mode = useStore((s) => s.mode);
338
+ const sidebarDensity = useStore((s) => s.sidebarDensity);
339
+ const sidebarFontSize = useStore((s) => s.sidebarFontSize);
318
340
  const blur = useStore((s) => s.blur);
319
341
  const frost = useStore((s) => s.frost);
320
342
  const fluidHue = useStore((s) => s.fluidHue);
@@ -392,10 +414,26 @@ function AquaAppearanceRow(props) {
392
414
  const bgMax = dark ? 50 : 100;
393
415
  const bgDisplay = Math.min(bgMax, Math.max(bgMin, bgBrightness));
394
416
  if (!enabled) return null;
395
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.group, children: [
396
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.subGroup, children: [
397
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.mode") }),
398
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.controls, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.row, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
417
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.group, children: [
418
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SidebarFontSize, { label: t("aqua.sidebarFontSize"), increaseLabel: t("aqua.increaseSidebarFontSize"), decreaseLabel: t("aqua.decreaseSidebarFontSize"), value: sidebarFontSize, onChange: setSidebarFontSize }),
419
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.subGroup, children: [
420
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.sidebarDensity") }),
421
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.controls, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.row, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
422
+ Segmented,
423
+ {
424
+ label: t("aqua.sidebarDensity"),
425
+ value: sidebarDensity,
426
+ options: [
427
+ { id: "regular", label: t("aqua.sidebarDensityRegular") },
428
+ { id: "compact", label: t("aqua.sidebarDensityCompact") }
429
+ ],
430
+ onSelect: setSidebarDensity
431
+ }
432
+ ) }) })
433
+ ] }),
434
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.subGroup, children: [
435
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.mode") }),
436
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.controls, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.row, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
399
437
  Segmented,
400
438
  {
401
439
  label: t("aqua.mode"),
@@ -408,17 +446,17 @@ function AquaAppearanceRow(props) {
408
446
  }
409
447
  ) }) })
410
448
  ] }),
411
- mode === "mica" && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.subGroup, children: [
412
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.materialGroup") }),
413
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.controls, children: [
414
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.blur"), value: blur, min: 0, max: 40, step: 0.5, unit: "px", onChange: setBlur }),
415
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.frost"), value: frost, min: 0, max: 100, step: 1, unit: "%", onChange: setFrost })
449
+ mode === "mica" && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.subGroup, children: [
450
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.materialGroup") }),
451
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.controls, children: [
452
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.blur"), value: blur, min: 0, max: 40, step: 0.5, unit: "px", onChange: setBlur }),
453
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.frost"), value: frost, min: 0, max: 100, step: 1, unit: "%", onChange: setFrost })
416
454
  ] })
417
455
  ] }),
418
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.subGroup, children: [
419
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.background") }),
420
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.controls, children: [
421
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.row, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
456
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.subGroup, children: [
457
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.background") }),
458
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.controls, children: [
459
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.row, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
422
460
  Segmented,
423
461
  {
424
462
  label: t("aqua.background"),
@@ -430,15 +468,15 @@ function AquaAppearanceRow(props) {
430
468
  onSelect: setBackground
431
469
  }
432
470
  ) }),
433
- background === "fluid" && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
434
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.fluidHue"), value: fluidHue, min: 0, max: 360, step: 1, unit: "\xB0", onChange: setFluidHue }),
435
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.fluidDepth"), value: fluidDepth, min: 0, max: 100, step: 1, unit: "%", onChange: setFluidDepth })
471
+ background === "fluid" && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
472
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.fluidHue"), value: fluidHue, min: 0, max: 360, step: 1, unit: "\xB0", onChange: setFluidHue }),
473
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.fluidDepth"), value: fluidDepth, min: 0, max: 100, step: 1, unit: "%", onChange: setFluidDepth })
436
474
  ] }),
437
- background === "wallpaper" && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
438
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.row, children: [
439
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.wallpaper") }),
440
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.wallpaperPick, children: [
441
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
475
+ background === "wallpaper" && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
476
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.row, children: [
477
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.wallpaper") }),
478
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.wallpaperPick, children: [
479
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
442
480
  "input",
443
481
  {
444
482
  ref: fileRef,
@@ -455,7 +493,7 @@ function AquaAppearanceRow(props) {
455
493
  }
456
494
  }
457
495
  ),
458
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
496
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
459
497
  "input",
460
498
  {
461
499
  ref: videoRef,
@@ -478,36 +516,36 @@ function AquaAppearanceRow(props) {
478
516
  }
479
517
  }
480
518
  ),
481
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { type: "button", className: stdin_default2.pickButton, onClick: () => {
519
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("button", { type: "button", className: stdin_default2.pickButton, onClick: () => {
482
520
  fileRef.current?.click();
483
521
  }, children: t("aqua.chooseImage") }),
484
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { type: "button", className: stdin_default2.pickButton, onClick: onChooseVideo, children: t("aqua.chooseVideo") }),
485
- wallpaper !== "" && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("button", { type: "button", className: stdin_default2.deleteButton, onClick: () => {
522
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("button", { type: "button", className: stdin_default2.pickButton, onClick: onChooseVideo, children: t("aqua.chooseVideo") }),
523
+ wallpaper !== "" && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("button", { type: "button", className: stdin_default2.deleteButton, onClick: () => {
486
524
  setWallpaper("");
487
525
  }, children: t("aqua.deleteWallpaper") })
488
526
  ] })
489
527
  ] }),
490
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.knobHint, children: t("aqua.wallpaperHint") }),
491
- !isVideoWallpaper && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
492
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.wallpaperBlur"), value: wallpaperBlur, min: 0, max: 40, step: 0.5, unit: "px", onChange: setWallpaperBlur }),
493
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.wallpaperFrost"), value: wallpaperFrost, min: 0, max: 100, step: 1, unit: "%", onChange: setWallpaperFrost })
528
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.knobHint, children: t("aqua.wallpaperHint") }),
529
+ !isVideoWallpaper && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
530
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.wallpaperBlur"), value: wallpaperBlur, min: 0, max: 40, step: 0.5, unit: "px", onChange: setWallpaperBlur }),
531
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.wallpaperFrost"), value: wallpaperFrost, min: 0, max: 100, step: 1, unit: "%", onChange: setWallpaperFrost })
494
532
  ] }),
495
- isVideoWallpaper && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
496
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.videoBlur"), value: videoBlur, min: 0, max: 40, step: 0.5, unit: "px", onChange: setVideoBlur }),
497
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.videoBrightness"), value: videoBrightness, min: 0, max: 100, step: 1, unit: "%", onChange: setVideoBrightness }),
498
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.knobHint, children: t("aqua.videoHint") })
533
+ isVideoWallpaper && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
534
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.videoBlur"), value: videoBlur, min: 0, max: 40, step: 0.5, unit: "px", onChange: setVideoBlur }),
535
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.videoBrightness"), value: videoBrightness, min: 0, max: 100, step: 1, unit: "%", onChange: setVideoBrightness }),
536
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.knobHint, children: t("aqua.videoHint") })
499
537
  ] })
500
538
  ] }),
501
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Knob, { label: t("aqua.bgBrightness"), value: bgDisplay, min: bgMin, max: bgMax, step: 1, unit: "%", onChange: setBgBrightness }),
502
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.knobHint, children: t(dark ? "aqua.bgBrightnessHintDark" : "aqua.bgBrightnessHintLight") })
539
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Knob, { label: t("aqua.bgBrightness"), value: bgDisplay, min: bgMin, max: bgMax, step: 1, unit: "%", onChange: setBgBrightness }),
540
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.knobHint, children: t(dark ? "aqua.bgBrightnessHintDark" : "aqua.bgBrightnessHintLight") })
503
541
  ] })
504
542
  ] }),
505
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.subGroup, children: [
506
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.decorAmbient") }),
507
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.controls, children: [
508
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.row, children: [
509
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.whale") }),
510
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
543
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.subGroup, children: [
544
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.decorAmbient") }),
545
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.controls, children: [
546
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.row, children: [
547
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.whale") }),
548
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
511
549
  "button",
512
550
  {
513
551
  type: "button",
@@ -517,15 +555,15 @@ function AquaAppearanceRow(props) {
517
555
  setWhale(!whale);
518
556
  },
519
557
  children: [
520
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.check, children: whale && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
558
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.check, children: whale && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
521
559
  whale ? t("aqua.enable") : t("aqua.disable")
522
560
  ]
523
561
  }
524
562
  )
525
563
  ] }),
526
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.row, children: [
527
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.critters") }),
528
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
564
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.row, children: [
565
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.critters") }),
566
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
529
567
  "button",
530
568
  {
531
569
  type: "button",
@@ -535,15 +573,15 @@ function AquaAppearanceRow(props) {
535
573
  setCritters(!critters);
536
574
  },
537
575
  children: [
538
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.check, children: critters && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
576
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.check, children: critters && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
539
577
  critters ? t("aqua.enable") : t("aqua.disable")
540
578
  ]
541
579
  }
542
580
  )
543
581
  ] }),
544
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.row, children: [
545
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.mesh") }),
546
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
582
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.row, children: [
583
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.mesh") }),
584
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
547
585
  "button",
548
586
  {
549
587
  type: "button",
@@ -553,7 +591,7 @@ function AquaAppearanceRow(props) {
553
591
  setMesh(!mesh);
554
592
  },
555
593
  children: [
556
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.check, children: mesh && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
594
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.check, children: mesh && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
557
595
  mesh ? t("aqua.enable") : t("aqua.disable")
558
596
  ]
559
597
  }
@@ -561,12 +599,12 @@ function AquaAppearanceRow(props) {
561
599
  ] })
562
600
  ] })
563
601
  ] }),
564
- mode === "mica" && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.subGroup, children: [
565
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.decorHover") }),
566
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.controls, children: [
567
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.row, children: [
568
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.spotlight") }),
569
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
602
+ mode === "mica" && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.subGroup, children: [
603
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: stdin_default2.subTitle, children: t("aqua.decorHover") }),
604
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.controls, children: [
605
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.row, children: [
606
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.spotlight") }),
607
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
570
608
  "button",
571
609
  {
572
610
  type: "button",
@@ -576,15 +614,15 @@ function AquaAppearanceRow(props) {
576
614
  setSpotlight(!spotlight);
577
615
  },
578
616
  children: [
579
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.check, children: spotlight && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
617
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.check, children: spotlight && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
580
618
  spotlight ? t("aqua.enable") : t("aqua.disable")
581
619
  ]
582
620
  }
583
621
  )
584
622
  ] }),
585
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: stdin_default2.row, children: [
586
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.press") }),
587
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
623
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: stdin_default2.row, children: [
624
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.rowLabel, children: t("aqua.press") }),
625
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
588
626
  "button",
589
627
  {
590
628
  type: "button",
@@ -594,7 +632,7 @@ function AquaAppearanceRow(props) {
594
632
  setPress(!press);
595
633
  },
596
634
  children: [
597
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: stdin_default2.check, children: press && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
635
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: stdin_default2.check, children: press && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_dsh_client_ui_primitives2.IconCheckOutlineRegular, { size: 16 }) }),
598
636
  press ? t("aqua.enable") : t("aqua.disable")
599
637
  ]
600
638
  }
@@ -612,6 +650,8 @@ function createAquaRowStore() {
612
650
  init: () => ({
613
651
  enabled: true,
614
652
  mode: "mica",
653
+ sidebarFontSize: 16,
654
+ sidebarDensity: "regular",
615
655
  blur: 20,
616
656
  frost: 7,
617
657
  fluidHue: 320,
@@ -636,6 +676,8 @@ function createAquaRowStore() {
636
676
  if (revision <= d.revision) return;
637
677
  d.enabled = next.enabled;
638
678
  d.mode = next.mode;
679
+ d.sidebarFontSize = next.sidebarFontSize;
680
+ d.sidebarDensity = next.sidebarDensity;
639
681
  d.blur = next.blur;
640
682
  d.frost = next.frost;
641
683
  d.fluidHue = next.fluidHue;
@@ -663,6 +705,12 @@ function createAquaRowStore() {
663
705
  var NS = "settings.aqua";
664
706
  var zh = {
665
707
  "aqua.title": "\u73BB\u7483\u4E3B\u9898",
708
+ "aqua.sidebarFontSize": "\u4FA7\u680F\u5B57\u53F7",
709
+ "aqua.sidebarDensity": "\u4FA7\u680F\u5BC6\u5EA6",
710
+ "aqua.sidebarDensityRegular": "\u5E38\u89C4",
711
+ "aqua.sidebarDensityCompact": "\u7D27\u51D1",
712
+ "aqua.increaseSidebarFontSize": "\u589E\u5927\u4FA7\u680F\u5B57\u53F7",
713
+ "aqua.decreaseSidebarFontSize": "\u51CF\u5C0F\u4FA7\u680F\u5B57\u53F7",
666
714
  "aqua.description": "\u5168\u5C40\u73BB\u7483\u8D28\u611F\uFF0C\u4E91\u6BCD/\u517C\u5BB9\u53CC\u6A21\u5F0F\uFF0C\u6A21\u7CCA\u5EA6\u3001\u78E8\u7802\u5EA6\u3001\u80CC\u666F\u4E0E\u989C\u8272\u90FD\u53EF\u81EA\u7531\u8C03\u8282",
667
715
  "aqua.enable": "\u5F00\u542F",
668
716
  "aqua.disable": "\u5173\u95ED",
@@ -700,6 +748,12 @@ var zh = {
700
748
  };
701
749
  var en = {
702
750
  "aqua.title": "Glass theme",
751
+ "aqua.sidebarFontSize": "Sidebar font size",
752
+ "aqua.sidebarDensity": "Sidebar density",
753
+ "aqua.sidebarDensityRegular": "Regular",
754
+ "aqua.sidebarDensityCompact": "Compact",
755
+ "aqua.increaseSidebarFontSize": "Increase sidebar font size",
756
+ "aqua.decreaseSidebarFontSize": "Decrease sidebar font size",
703
757
  "aqua.description": "Global glassmorphism with mica/compatibility modes \u2014 blur, frost, backdrop, and color all adjustable",
704
758
  "aqua.enable": "On",
705
759
  "aqua.disable": "Off",
@@ -2362,6 +2416,8 @@ function writeEnabled(value) {
2362
2416
  }
2363
2417
  var SETTINGS_DEFAULTS = {
2364
2418
  mode: "mica",
2419
+ sidebarFontSize: 16,
2420
+ sidebarDensity: "regular",
2365
2421
  blur: 20,
2366
2422
  frost: 7,
2367
2423
  bgBrightness: 50,
@@ -2380,6 +2436,7 @@ var SETTINGS_DEFAULTS = {
2380
2436
  videoBrightness: 45
2381
2437
  };
2382
2438
  var NUMERIC_KEYS = {
2439
+ sidebarFontSize: "dsh.ui-aqua.sidebarFontSize",
2383
2440
  blur: "dsh.ui-aqua.blur",
2384
2441
  frost: "dsh.ui-aqua.frost",
2385
2442
  fluidHue: "dsh.ui-aqua.fluidHue",
@@ -2390,6 +2447,14 @@ var NUMERIC_KEYS = {
2390
2447
  videoBlur: "dsh.ui-aqua.videoBlur",
2391
2448
  videoBrightness: "dsh.ui-aqua.videoBrightness"
2392
2449
  };
2450
+ var SIDEBAR_DENSITY_KEY = "dsh.ui-aqua.sidebarDensity";
2451
+ function readSidebarDensity() {
2452
+ try {
2453
+ return localStorage.getItem(SIDEBAR_DENSITY_KEY) === "compact" ? "compact" : "regular";
2454
+ } catch {
2455
+ return "regular";
2456
+ }
2457
+ }
2393
2458
  var MODE_KEY = "dsh.ui-aqua.mode";
2394
2459
  var BACKGROUND_KEY = "dsh.ui-aqua.background";
2395
2460
  var WALLPAPER_KEY = "dsh.ui-aqua.wallpaper";
@@ -2399,6 +2464,7 @@ var MESH_KEY = "dsh.ui-aqua.mesh";
2399
2464
  var SPOTLIGHT_KEY = "dsh.ui-aqua.spotlight";
2400
2465
  var PRESS_KEY = "dsh.ui-aqua.press";
2401
2466
  function clampSetting(key, value) {
2467
+ if (key === "sidebarFontSize") return Number.isFinite(value) ? Math.min(22, Math.max(12, Math.round(value))) : 16;
2402
2468
  const max = key === "blur" || key === "wallpaperBlur" || key === "videoBlur" ? 40 : key === "frost" || key === "wallpaperFrost" || key === "bgBrightness" || key === "videoBrightness" ? 100 : 360;
2403
2469
  return Number.isFinite(value) ? Math.min(max, Math.max(0, value)) : SETTINGS_DEFAULTS[key];
2404
2470
  }
@@ -2622,6 +2688,8 @@ var AquaLayer = class {
2622
2688
  }
2623
2689
  this.settings = {
2624
2690
  mode: readMode(),
2691
+ sidebarFontSize: readSetting("sidebarFontSize"),
2692
+ sidebarDensity: readSidebarDensity(),
2625
2693
  blur: readSetting("blur"),
2626
2694
  frost: readSetting("frost"),
2627
2695
  fluidHue: readSetting("fluidHue"),
@@ -2657,6 +2725,24 @@ var AquaLayer = class {
2657
2725
  this.applyTokens();
2658
2726
  }
2659
2727
  }
2728
+ /** Set sidebar spacing without changing mode or font size. */
2729
+ setSidebarDensity(value) {
2730
+ const next = value === "compact" ? "compact" : "regular";
2731
+ this.settings.sidebarDensity = next;
2732
+ try {
2733
+ localStorage.setItem(SIDEBAR_DENSITY_KEY, next);
2734
+ } catch {
2735
+ }
2736
+ if (this.enabled) this.applySettings();
2737
+ }
2738
+ /** Set independent left-sidebar typography, px. */
2739
+ setSidebarFontSize(value) {
2740
+ const next = clampSetting("sidebarFontSize", value);
2741
+ if (next === this.settings.sidebarFontSize) return;
2742
+ this.settings.sidebarFontSize = next;
2743
+ writeSetting("sidebarFontSize", next);
2744
+ if (this.enabled) this.applySettings();
2745
+ }
2660
2746
  /** Set the glass blur radius (px). */
2661
2747
  setBlur(value) {
2662
2748
  const next = clampSetting("blur", value);
@@ -2807,6 +2893,10 @@ var AquaLayer = class {
2807
2893
  /** Write the knob-driven CSS variables and mode attributes onto <html>. */
2808
2894
  applySettings() {
2809
2895
  const style = document.documentElement.style;
2896
+ document.documentElement.setAttribute("data-dsh-aqua-sidebar-density", this.settings.sidebarDensity);
2897
+ style.setProperty("--dsh-aqua-sidebar-font-size", `${this.settings.sidebarFontSize}px`);
2898
+ style.setProperty("--dsh-aqua-sidebar-session-size", `${this.settings.sidebarFontSize - 1}px`);
2899
+ style.setProperty("--dsh-aqua-sidebar-meta-size", `${this.settings.sidebarFontSize - 3}px`);
2810
2900
  style.setProperty("--dsh-aqua-blur", `${this.settings.blur}px`);
2811
2901
  style.setProperty("--dsh-aqua-frost", String(Math.min(this.settings.frost / 50, 1.4)));
2812
2902
  style.setProperty("--dsh-aqua-surface-frost", String(Math.min((this.settings.frost + 20) / 50, 1.4)));
@@ -2958,6 +3048,7 @@ var AquaLayer = class {
2958
3048
  }
2959
3049
  unmount() {
2960
3050
  document.documentElement.removeAttribute(AQUA_ATTRIBUTE);
3051
+ document.documentElement.removeAttribute("data-dsh-aqua-sidebar-density");
2961
3052
  document.documentElement.removeAttribute("data-dsh-float");
2962
3053
  document.documentElement.removeAttribute("data-dsh-compat");
2963
3054
  document.documentElement.removeAttribute("data-dsh-aqua-wallpaper");
@@ -3029,7 +3120,7 @@ if (typeof document !== "undefined" && !document.querySelector("style[data-plugi
3029
3120
  const tag = document.createElement("style");
3030
3121
  tag.dataset.plugin = "dsh-transparent-ui";
3031
3122
  tag.dataset.pluginCss = id3;
3032
- tag.textContent = `[data-dsh-aqua] body{background:var(--dsw-alias-bg-base);isolation:isolate}[data-dsh-aqua]{--dsh-aqua-glass-card-light: color-mix(in srgb, rgb(255 255 255) calc(42% * var(--dsh-aqua-frost, 1)), transparent);--dsh-aqua-glass-card-dark: color-mix(in srgb, rgb(34 38 47) calc(50% * var(--dsh-aqua-frost, 1)), transparent)}[data-dsh-aqua] [data-dsh-frame],[data-dsh-aqua] [data-dsh-frame]>[class*=centerCol]{background:transparent}[data-dsh-aqua] [data-phase],[data-dsh-aqua] [data-dsh-details]{background:transparent}[data-dsh-float] [data-phase=active] header{position:relative;z-index:8}[data-dsh-float] [class*=banner]{position:static}[data-dsh-float] [data-phase=active] :has(>[data-conversation-scroll]){position:relative;z-index:0}[data-dsh-float] [data-phase=active] [data-conversation-scroll]{margin-top:calc(0px - var(--dsh-aqua-header-overlap, 0px));padding-top:calc(var(--dsh-aqua-header-overlap, 0px) + 12px)}[data-dsh-aqua] header{position:relative;z-index:10;pointer-events:auto}html[data-dsh-aqua][data-platform] header[data-window-drag],html[data-dsh-aqua][data-platform] header[data-window-drag] *{-webkit-app-region:no-drag}[data-dsh-aqua] header :is(button,a,input,select,[role=button]){pointer-events:auto}[data-dsh-aqua] [data-phase] [class*=composerSeat][class*=composerSeat]{background:none}[data-dsh-aqua] [data-dsh-aqua-ambient]{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:transparent}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-ambient]{background:transparent}[data-dsh-aqua] [data-dsh-aqua-ambient]:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,var(--dsh-aqua-brightness-white, 0)),rgba(255,255,255,var(--dsh-aqua-brightness-white, 0))),linear-gradient(rgba(0,0,0,var(--dsh-aqua-brightness-black, 0)),rgba(0,0,0,var(--dsh-aqua-brightness-black, 0)))}@media(prefers-reduced-motion:no-preference){[data-dsh-aqua] [data-dsh-aqua-ambient]{animation:aqua_dsh-aqua-breathe 9s var(--ds-ease-in-out) infinite alternate}}@keyframes aqua_dsh-aqua-breathe{0%{opacity:.86}to{opacity:1}}[data-dsh-aqua] [data-dsh-aqua-fluid-canvas]{position:absolute;z-index:0;inset:0 auto 0 var(--dsh-aqua-fluid-left, 0px);width:var(--dsh-aqua-fluid-width, 0px);height:100%;pointer-events:none}[data-dsh-aqua] [data-dsh-aqua-wallpaper]{position:fixed;inset:0;z-index:-1;overflow:hidden}[data-dsh-aqua] [data-dsh-aqua-wallpaper-img]{width:100%;height:100%;object-fit:cover}[data-dsh-aqua] [data-dsh-aqua-wallpaper-video]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none;filter:blur(var(--dsh-aqua-video-blur, 0px))}[data-dsh-aqua] [data-dsh-aqua-wallpaper-img]{filter:blur(var(--dsh-aqua-wallpaper-blur, 0px))}[data-dsh-aqua] [data-dsh-aqua-wallpaper]:after{content:"";position:absolute;inset:0;background:rgb(255 255 255 / var(--dsh-aqua-wallpaper-frost, 0));pointer-events:none}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-wallpaper]:after{background:rgb(12 18 27 / var(--dsh-aqua-wallpaper-frost, 0))}[data-dsh-aqua] [data-dsh-aqua-wallpaper][data-media=video]:after{display:block;background:rgb(255 255 255 / calc(var(--dsh-aqua-video-dim, .36) * 1.3))}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-wallpaper][data-media=video]:after{background:rgb(8 12 20 / var(--dsh-aqua-video-dim, .36))}[data-dsh-aqua] [data-dsh-aqua-whale]{position:absolute;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;opacity:.92}[data-dsh-aqua] [data-dsh-aqua-whale][data-scheme=light]{mix-blend-mode:multiply}[data-dsh-aqua] [data-dsh-aqua-whale] canvas{display:block;width:100%;height:100%}[data-dsh-aqua] [data-dsh-aqua-ambient][data-background=wallpaper] [data-dsh-aqua-fluid-canvas],[data-dsh-aqua] [data-dsh-aqua-wallpaper][data-background=fluid]{display:none}[data-dsh-aqua] [data-dsh-aqua-mesh]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}[data-dsh-aqua] [data-dsh-aqua-whale],[data-dsh-aqua] [data-dsh-aqua-mesh],[data-dsh-aqua] [data-aqua-critter]{z-index:2}[data-dsh-aqua] [data-dsh-aqua-ambient][data-critters=off] [data-aqua-critter]{display:none}[data-dsh-aqua] [data-aqua-critter]{position:absolute;color:#7ea4df;opacity:.22}[data-dsh-aqua] [data-aqua-critter=fish]{animation:aqua_dsh-aqua-fish-swim 12s var(--ds-ease-in-out) infinite}[data-dsh-aqua] [data-aqua-critter=fish-left]{animation:aqua_dsh-aqua-fish-swim-left 16s var(--ds-ease-in-out) infinite}[data-dsh-aqua] [data-aqua-critter=bubble]{color:#a9c6ef;opacity:0;animation:aqua_dsh-aqua-bubble-rise 9s ease-in infinite}[data-dsh-aqua] [data-aqua-critter=plankton]{color:#7ea4df;animation:aqua_dsh-aqua-plankton 5s ease-in-out infinite}@keyframes aqua_dsh-aqua-fish-swim{0%{transform:translateZ(0) rotate(-5deg)}30%{transform:translate3d(40px,-15px,0) rotate(4deg)}70%{transform:translate3d(52px,-18px,0) rotate(3deg)}to{transform:translateZ(0) rotate(-5deg)}}@keyframes aqua_dsh-aqua-fish-swim-left{0%{transform:translateZ(0) scaleX(-1) rotate(-5deg)}30%{transform:translate3d(-34px,-12px,0) scaleX(-1) rotate(4deg)}70%{transform:translate3d(-44px,-15px,0) scaleX(-1) rotate(3deg)}to{transform:translateZ(0) scaleX(-1) rotate(-5deg)}}@keyframes aqua_dsh-aqua-bubble-rise{0%{transform:translateZ(0);opacity:0}10%{opacity:.5}to{transform:translate3d(8px,-150px,0);opacity:0}}@keyframes aqua_dsh-aqua-plankton{0%,to{opacity:.1}50%{opacity:.38}}[data-dsh-float] [role=menu],[data-dsh-float] [role=dialog],[data-dsh-float] [role=alert],[data-dsh-float] [data-dsh-surface]{border-radius:14px}[data-dsh-float] [data-dsh-surface]{background:color-mix(in srgb,rgb(255 255 255) calc(62% * var(--dsh-aqua-surface-frost, 1)),transparent);border:1px solid rgba(19,45,83,.16);box-shadow:inset 0 1px #ffffff73;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] [data-dsh-surface]:hover:not(:disabled){background:color-mix(in srgb,rgb(255 255 255) calc(74% * var(--dsh-aqua-surface-frost, 1)),transparent)}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-surface]{background:color-mix(in srgb,rgb(42 46 56) calc(62% * var(--dsh-aqua-surface-frost, 1)),transparent);border-color:#94b4dc33;box-shadow:inset 0 1px #ffffff14}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-surface]:hover:not(:disabled){background:color-mix(in srgb,rgb(54 58 70) calc(70% * var(--dsh-aqua-surface-frost, 1)),transparent)}[data-dsh-float] [role=menuitem],[data-dsh-float] [role=tooltip],[data-dsh-float] [class*=pill]{border-radius:8px}[data-dsh-float] button[class*=button]{border-radius:10px}[data-dsh-float] [class*=iconButton],[data-dsh-float] [class*=searchButton]{border-radius:8px}[data-dsh-float] [data-dsh-add]{background:color-mix(in srgb,rgb(255 255 255) calc(40% * var(--dsh-aqua-frost, 1)),transparent);border:1px solid rgba(19,45,83,.18);box-shadow:inset 0 1px #ffffff80;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] [data-dsh-add]:hover:not(:disabled){background:color-mix(in srgb,rgb(255 255 255) calc(58% * var(--dsh-aqua-frost, 1)),transparent)}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-add]{background:color-mix(in srgb,rgb(42 46 56) calc(40% * var(--dsh-aqua-frost, 1)),transparent);border-color:#94b4dc40;box-shadow:inset 0 1px #ffffff14}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-add]:hover:not(:disabled){background:color-mix(in srgb,rgb(54 58 70) calc(52% * var(--dsh-aqua-frost, 1)),transparent)}[data-dsh-float] [class*=bubble]{border-radius:14px;border:1px solid rgba(19,45,83,.14);background:color-mix(in srgb,rgb(255 255 255) calc(42% * var(--dsh-aqua-frost, 1)),transparent);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [class*=bubble]{border-color:#94b4dc24;background:color-mix(in srgb,rgb(0 0 0) calc(40% * var(--dsh-aqua-frost, 1)),transparent)}html[data-dsh-float][data-dsh-aqua-wallpaper][data-dsh-aqua-media=video] [class*=bubble]{background:color-mix(in srgb,rgb(255 255 255) 70%,transparent);border-color:#132d5333}html[data-dsh-float][data-dsh-aqua-wallpaper][data-dsh-aqua-media=video] body[data-ds-dark-theme] [class*=bubble]{background:color-mix(in srgb,rgb(0 0 0) 50%,transparent);border-color:#94b4dc38}[data-dsh-float] [class*=card]{border-radius:14px}[data-dsh-float] [data-composer-card],[data-dsh-float] [data-composer-card]:after{border-radius:24px}[data-dsh-float] [data-composer-card]{position:relative;z-index:8;background:var(--dsh-aqua-glass-card-light);border:1px solid rgba(19,45,83,.26);box-shadow:inset 0 1px #ffffff80,0 10px 36px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [data-composer-card]{background:var(--dsh-aqua-glass-card-dark);border:1px solid rgba(148,180,220,.32);box-shadow:inset 0 1px #ffffff12,0 10px 36px #02060e80}[data-dsh-aqua][data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]){width:calc(var(--dsh-chat-content-width) + 32px);max-width:none;margin:0 auto 12px;padding:0;border:1px solid rgba(19,45,83,.26);border-radius:24px;background:var(--dsh-aqua-glass-card-light);box-shadow:inset 0 1px #ffffff80,0 10px 36px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]){border-color:#94b4dc52;background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 10px 36px #02060e80}[data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]{border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}[data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]:after{display:none}[data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{width:100%;max-width:none;margin:auto 0 0;min-height:24px;box-sizing:border-box;display:block;padding:2px 16px;border:none;border-top:1px solid rgba(19,45,83,.18);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{border-top-color:#94b4dc3d}[data-dsh-float] [data-composer-card]:after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='24' ry='24' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='24' ry='24' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E")}[data-dsh-float] [class*=block]{border-radius:14px;--dsl-code-block-border-radius: 14px;--dsl-diff-radius: 14px;--dsl-read-radius: 14px;--dsl-terminal-radius: 14px;--dsl-web-radius: 14px;--dsl-search-radius: 14px}[data-dsh-float] header{margin:12px 16px 0;padding:10px 16px 8px;border:1px solid rgba(19,45,83,.26);border-bottom-color:transparent;border-radius:20px;background:var(--dsh-aqua-glass-card-light);box-shadow:inset 0 1px #ffffff80,0 10px 34px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] header:after{display:none}[data-dsh-float] body[data-ds-dark-theme] header{border-color:#94b4dc52;border-bottom-color:transparent;background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 8px 30px #02060e52}[data-dsh-float] [data-dsh-frame][data-sidebar-collapsed] header{margin-left:28px}[data-dsh-float] [class*=sidebarCol]{position:relative;z-index:9;margin:12px;padding:10px 12px 14px;border:1px solid rgba(19,45,83,.26);border-right:1px solid rgba(150,190,245,.65);border-radius:20px;background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px));box-shadow:inset 0 1px #ffffff80,0 10px 34px #132d5329;overflow:hidden}[data-dsh-float] body[data-ds-dark-theme] [class*=sidebarCol]{border-color:#94b4dc52;border-right:1px solid rgba(148,180,220,.2);background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 8px 30px #02060e52}[data-dsh-float] [data-dsh-frame][data-sidebar-collapsed] [class*=sidebarCol]{margin:12px -12px 12px 12px;padding:0;border-radius:16px;transition:margin .15s var(--ds-ease-in-out),border-radius .15s var(--ds-ease-in-out),transform .1s ease-out}[data-dsh-float] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root]{width:100%!important}[data-dsh-float] [data-dsh-trajectory]{margin:8px 16px 12px;width:calc(100% - 32px);height:calc(100% - 20px);border:1px solid rgba(19,45,83,.26);border-radius:20px;background:var(--dsh-aqua-glass-card-light);box-shadow:inset 0 1px #ffffff80,0 10px 34px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px));overflow:hidden}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-trajectory]{border-color:#94b4dc52;background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 8px 30px #02060e52}[data-dsh-float] [data-dsh-trajectory] [role=toolbar],[data-dsh-float] [data-dsh-trajectory] section[aria-label="Trajectory timeline"]{background:transparent}[data-dsh-float] [data-dsh-inputbar]:not([class*=hero]){padding-bottom:12px}[data-dsh-float] [data-dsh-stats]{position:relative;z-index:8;width:calc(var(--dsh-chat-content-width) + 32px);max-width:none;margin:0 auto;padding:2px 16px;border:1px solid rgba(19,45,83,.26);border-top:1px solid rgba(19,45,83,.18);border-radius:0 0 24px 24px;background:var(--dsh-aqua-glass-card-light);box-shadow:0 10px 36px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px));color:#262e3ee6}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-stats]{border-color:#94b4dc52;border-top-color:#94b4dc3d;background:var(--dsh-aqua-glass-card-dark);box-shadow:0 10px 36px #02060e80;color:#e4ecf8eb}[data-dsh-float] [data-composer-card] textarea::placeholder{color:#37405480}[data-dsh-float] body[data-ds-dark-theme] [data-composer-card] textarea::placeholder{color:#cdd8ea85}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-aqua-spot]{position:relative;isolation:isolate}[data-dsh-aqua] [data-dsh-aqua-glow]{display:none}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-aqua-glow]{display:block;position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:-1}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-aqua-spot][data-spot-on] [data-dsh-aqua-glow]{opacity:1}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-inputbar][data-dsh-aqua-spot] [data-dsh-aqua-glow]{border-radius:24px}[data-dsh-aqua][data-dsh-float] [class*=sidebarCol]:has([role=dialog]){backdrop-filter:none}[data-dsh-float][data-dsh-aqua-press] [data-dsh-aqua-spot]{transition:transform .1s ease-out}[data-dsh-aqua] body [role=dialog]{background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-aqua] body[data-ds-dark-theme] [role=dialog]{background:var(--dsh-aqua-glass-card-dark)}[data-dsh-aqua] body [data-shortcut-modal=settings]{background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px));animation:none}[data-dsh-aqua] body[data-ds-dark-theme] [data-shortcut-modal=settings]{background:var(--dsh-aqua-glass-card-dark)}[data-dsh-float] [role=treeitem][aria-selected=true]{box-shadow:inset 2px 0 0 var(--dsw-specific-sidebar-nav-item-active-accent),0 0 16px #6e9be824}[data-dsh-float] button[class*=button]:hover:not(:disabled),[data-dsh-float] [role=menuitem]:hover:not(:disabled){box-shadow:0 0 12px #6e9be829,inset 0 0 0 1px #94b4dc38}[data-dsh-float] [role=menu]{background:color-mix(in srgb,rgb(255 255 255) calc(62% * var(--dsh-aqua-frost, 1)),transparent);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [role=menu]{background:color-mix(in srgb,rgb(28 32 42) calc(68% * var(--dsh-aqua-frost, 1)),transparent)}[data-dsh-aqua] [data-dsh-aqua-fade]{position:fixed;left:0;right:0;height:13px;z-index:7;pointer-events:none;backdrop-filter:blur(5px);background:#fff3}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-fade]{background:#00000026}[data-dsh-aqua] [data-dsh-aqua-fade=top]{top:0;-webkit-mask-image:linear-gradient(180deg,black 0%,transparent 100%);mask-image:linear-gradient(180deg,black 0%,transparent 100%)}[data-dsh-aqua] [data-dsh-aqua-fade=bottom]{bottom:0;-webkit-mask-image:linear-gradient(0deg,black 0%,transparent 100%);mask-image:linear-gradient(0deg,black 0%,transparent 100%)}[data-dsh-aqua] :focus-visible{outline:2px solid rgba(110,155,232,.85);outline-offset:1px}[data-dsh-aqua] ::selection{background:#6e9be859}[data-dsh-aqua] [data-conversation-scroll]{text-shadow:0 0 1px rgba(0,0,0,.4)}[data-dsh-aqua] body:not([data-ds-dark-theme]) [data-conversation-scroll]{text-shadow:0 0 1px rgba(255,255,255,.55),0 1px 2px rgba(19,45,83,.08)}[data-dsh-float] [role=dialog] h2{font-family:Space Grotesk Variable,"Noto Serif SC",Songti SC,STSong,SimSun,serif;font-weight:600;letter-spacing:.02em}[data-dsh-float] [role=treeitem]{font-family:Space Grotesk Variable,"Noto Serif SC",Songti SC,STSong,SimSun,serif;font-weight:500}[data-dsh-float] [data-phase=hero]{animation:aqua_dsh-aqua-hero-in .32s var(--ds-ease-in-out)}[data-dsh-float] [data-phase=active]{animation:aqua_dsh-aqua-active-in .3s var(--ds-ease-in-out)}[data-dsh-float] [data-testid^=view-]{animation:aqua_dsh-aqua-view-in .26s var(--ds-ease-in-out)}[data-dsh-float] [class*=userRow]{animation:aqua_dsh-aqua-rise .28s var(--ds-ease-in-out) both}[data-dsh-float] [data-tool]{animation:aqua_dsh-aqua-rise .3s var(--ds-ease-in-out) both}[data-dsh-float] [role=dialog]{animation:aqua_dsh-aqua-dialog-in .24s var(--ds-ease-in-out)}@keyframes aqua_dsh-aqua-hero-in{0%{opacity:0}}@keyframes aqua_dsh-aqua-active-in{0%{opacity:0}}@keyframes aqua_dsh-aqua-view-in{0%{opacity:0}}@keyframes aqua_dsh-aqua-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes aqua_dsh-aqua-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}[data-dsh-compat] [role=menu],[data-dsh-compat] [role=tooltip],[data-dsh-compat] [class*=card],[data-dsh-compat] [class*=bubble],[data-dsh-compat] [class*=panel],[data-dsh-compat] [class*=popover],[data-dsh-compat] [class*=dropdown]{backdrop-filter:blur(12px)}[data-dsh-aqua] body :is(header,[data-composer-card],[data-shortcut-modal=settings]),[data-dsh-aqua] body [data-dsh-inputbar]:has([data-dsh-stats]){background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-aqua] body[data-ds-dark-theme] :is(header,[data-composer-card],[data-shortcut-modal=settings]),[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]){background:var(--dsh-aqua-glass-card-dark)}[data-dsh-aqua] body [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card],[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card],[data-dsh-aqua] body [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{background:transparent;backdrop-filter:none}@media(prefers-reduced-motion:reduce){[data-dsh-float] [data-phase=hero],[data-dsh-float] [data-phase=active],[data-dsh-float] [data-testid^=view-],[data-dsh-float] [class*=userRow],[data-dsh-float] [data-tool],[data-dsh-float] [role=dialog],[data-dsh-aqua] [data-dsh-aqua-ambient],[data-dsh-aqua] [data-aqua-critter]{animation:none}[data-dsh-aqua] [data-aqua-critter=bubble]{opacity:0}}
3123
+ tag.textContent = `[data-dsh-aqua] [data-dsh-sidebar-root] [class*=_panelTitle],[data-dsh-aqua] [data-dsh-sidebar-root] [class*=_newSessionLabel],[data-dsh-aqua] [data-dsh-sidebar-root] [class*=_sectionLabel],[data-dsh-aqua] [data-dsh-sidebar-root] [role=treeitem][data-row-key] [class*=_title]{font-size:var(--dsh-aqua-sidebar-font-size, 16px);line-height:1.5}[data-dsh-aqua] [data-dsh-sidebar-root] [role=treeitem][data-row-key^="session:"] [class*=_title]{font-size:var(--dsh-aqua-sidebar-session-size, 15px)}[data-dsh-aqua] [data-dsh-sidebar-root] [role=treeitem][data-row-key] [class*=_time]{font-size:var(--dsh-aqua-sidebar-meta-size, 13px);line-height:1.5}[data-dsh-aqua] [data-dsh-sidebar-root] [role=treeitem][data-row-key]{min-height:calc(var(--dsh-aqua-sidebar-font-size, 16px) * 1.5 + 8px)}[data-dsh-aqua][data-dsh-aqua-sidebar-density=compact] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root] [class*=_logoRow]{height:44px;padding-block:4px;margin-bottom:0}[data-windows-titlebar][data-dsh-aqua][data-dsh-aqua-sidebar-density=compact] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root] [class*=_logoRow]{height:40px;padding-block:0}[data-dsh-aqua][data-dsh-aqua-sidebar-density=compact] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root] [class*=_panelList]{gap:2px;margin-bottom:4px}[data-dsh-aqua][data-dsh-aqua-sidebar-density=compact] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root] [class*=_panelRow]{min-height:calc(var(--dsh-aqua-sidebar-font-size, 16px) * 1.5 + 4px);padding-top:2px;padding-bottom:2px}[data-dsh-aqua][data-dsh-aqua-sidebar-density=compact] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root] [class*=_sectionHeader]{height:auto;min-height:28px;margin-block:0 2px}[data-dsh-aqua][data-dsh-aqua-sidebar-density=compact] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root] [role=treeitem][data-row-key]{height:auto;min-height:calc(var(--dsh-aqua-sidebar-font-size, 16px) * 1.5 + 4px);padding-top:2px;padding-bottom:2px;box-sizing:border-box}[data-dsh-aqua] body{background:var(--dsw-alias-bg-base);isolation:isolate}[data-dsh-aqua]{--dsh-aqua-glass-card-light: color-mix(in srgb, rgb(255 255 255) calc(42% * var(--dsh-aqua-frost, 1)), transparent);--dsh-aqua-glass-card-dark: color-mix(in srgb, rgb(34 38 47) calc(50% * var(--dsh-aqua-frost, 1)), transparent)}[data-dsh-aqua] [data-dsh-frame],[data-dsh-aqua] [data-dsh-frame]>[class*=centerCol]{background:transparent}[data-dsh-aqua] [data-phase],[data-dsh-aqua] [data-dsh-details]{background:transparent}[data-dsh-float] [data-phase=active] header{position:relative;z-index:8}[data-dsh-float] [class*=banner]{position:static}[data-dsh-float] [data-phase=active] :has(>[data-conversation-scroll]){position:relative;z-index:0}[data-dsh-float] [data-phase=active] [data-conversation-scroll]{margin-top:calc(0px - var(--dsh-aqua-header-overlap, 0px));padding-top:calc(var(--dsh-aqua-header-overlap, 0px) + 12px)}[data-dsh-aqua] header{position:relative;z-index:10;pointer-events:auto}html[data-dsh-aqua][data-platform] header[data-window-drag],html[data-dsh-aqua][data-platform] header[data-window-drag] *{-webkit-app-region:no-drag}[data-dsh-aqua] header :is(button,a,input,select,[role=button]){pointer-events:auto}[data-dsh-aqua] [data-phase] [class*=composerSeat][class*=composerSeat]{background:none}[data-dsh-aqua] [data-dsh-aqua-ambient]{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:transparent}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-ambient]{background:transparent}[data-dsh-aqua] [data-dsh-aqua-ambient]:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,var(--dsh-aqua-brightness-white, 0)),rgba(255,255,255,var(--dsh-aqua-brightness-white, 0))),linear-gradient(rgba(0,0,0,var(--dsh-aqua-brightness-black, 0)),rgba(0,0,0,var(--dsh-aqua-brightness-black, 0)))}@media(prefers-reduced-motion:no-preference){[data-dsh-aqua] [data-dsh-aqua-ambient]{animation:aqua_dsh-aqua-breathe 9s var(--ds-ease-in-out) infinite alternate}}@keyframes aqua_dsh-aqua-breathe{0%{opacity:.86}to{opacity:1}}[data-dsh-aqua] [data-dsh-aqua-fluid-canvas]{position:absolute;z-index:0;inset:0 auto 0 var(--dsh-aqua-fluid-left, 0px);width:var(--dsh-aqua-fluid-width, 0px);height:100%;pointer-events:none}[data-dsh-aqua] [data-dsh-aqua-wallpaper]{position:fixed;inset:0;z-index:-1;overflow:hidden}[data-dsh-aqua] [data-dsh-aqua-wallpaper-img]{width:100%;height:100%;object-fit:cover}[data-dsh-aqua] [data-dsh-aqua-wallpaper-video]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none;filter:blur(var(--dsh-aqua-video-blur, 0px))}[data-dsh-aqua] [data-dsh-aqua-wallpaper-img]{filter:blur(var(--dsh-aqua-wallpaper-blur, 0px))}[data-dsh-aqua] [data-dsh-aqua-wallpaper]:after{content:"";position:absolute;inset:0;background:rgb(255 255 255 / var(--dsh-aqua-wallpaper-frost, 0));pointer-events:none}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-wallpaper]:after{background:rgb(12 18 27 / var(--dsh-aqua-wallpaper-frost, 0))}[data-dsh-aqua] [data-dsh-aqua-wallpaper][data-media=video]:after{display:block;background:rgb(255 255 255 / calc(var(--dsh-aqua-video-dim, .36) * 1.3))}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-wallpaper][data-media=video]:after{background:rgb(8 12 20 / var(--dsh-aqua-video-dim, .36))}[data-dsh-aqua] [data-dsh-aqua-whale]{position:absolute;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen;opacity:.92}[data-dsh-aqua] [data-dsh-aqua-whale][data-scheme=light]{mix-blend-mode:multiply}[data-dsh-aqua] [data-dsh-aqua-whale] canvas{display:block;width:100%;height:100%}[data-dsh-aqua] [data-dsh-aqua-ambient][data-background=wallpaper] [data-dsh-aqua-fluid-canvas],[data-dsh-aqua] [data-dsh-aqua-wallpaper][data-background=fluid]{display:none}[data-dsh-aqua] [data-dsh-aqua-mesh]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}[data-dsh-aqua] [data-dsh-aqua-whale],[data-dsh-aqua] [data-dsh-aqua-mesh],[data-dsh-aqua] [data-aqua-critter]{z-index:2}[data-dsh-aqua] [data-dsh-aqua-ambient][data-critters=off] [data-aqua-critter]{display:none}[data-dsh-aqua] [data-aqua-critter]{position:absolute;color:#7ea4df;opacity:.22}[data-dsh-aqua] [data-aqua-critter=fish]{animation:aqua_dsh-aqua-fish-swim 12s var(--ds-ease-in-out) infinite}[data-dsh-aqua] [data-aqua-critter=fish-left]{animation:aqua_dsh-aqua-fish-swim-left 16s var(--ds-ease-in-out) infinite}[data-dsh-aqua] [data-aqua-critter=bubble]{color:#a9c6ef;opacity:0;animation:aqua_dsh-aqua-bubble-rise 9s ease-in infinite}[data-dsh-aqua] [data-aqua-critter=plankton]{color:#7ea4df;animation:aqua_dsh-aqua-plankton 5s ease-in-out infinite}@keyframes aqua_dsh-aqua-fish-swim{0%{transform:translateZ(0) rotate(-5deg)}30%{transform:translate3d(40px,-15px,0) rotate(4deg)}70%{transform:translate3d(52px,-18px,0) rotate(3deg)}to{transform:translateZ(0) rotate(-5deg)}}@keyframes aqua_dsh-aqua-fish-swim-left{0%{transform:translateZ(0) scaleX(-1) rotate(-5deg)}30%{transform:translate3d(-34px,-12px,0) scaleX(-1) rotate(4deg)}70%{transform:translate3d(-44px,-15px,0) scaleX(-1) rotate(3deg)}to{transform:translateZ(0) scaleX(-1) rotate(-5deg)}}@keyframes aqua_dsh-aqua-bubble-rise{0%{transform:translateZ(0);opacity:0}10%{opacity:.5}to{transform:translate3d(8px,-150px,0);opacity:0}}@keyframes aqua_dsh-aqua-plankton{0%,to{opacity:.1}50%{opacity:.38}}[data-dsh-float] [role=menu],[data-dsh-float] [role=dialog],[data-dsh-float] [role=alert],[data-dsh-float] [data-dsh-surface]{border-radius:14px}[data-dsh-float] [data-dsh-surface]{background:color-mix(in srgb,rgb(255 255 255) calc(62% * var(--dsh-aqua-surface-frost, 1)),transparent);border:1px solid rgba(19,45,83,.16);box-shadow:inset 0 1px #ffffff73;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] [data-dsh-surface]:hover:not(:disabled){background:color-mix(in srgb,rgb(255 255 255) calc(74% * var(--dsh-aqua-surface-frost, 1)),transparent)}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-surface]{background:color-mix(in srgb,rgb(42 46 56) calc(62% * var(--dsh-aqua-surface-frost, 1)),transparent);border-color:#94b4dc33;box-shadow:inset 0 1px #ffffff14}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-surface]:hover:not(:disabled){background:color-mix(in srgb,rgb(54 58 70) calc(70% * var(--dsh-aqua-surface-frost, 1)),transparent)}[data-dsh-float] [role=menuitem],[data-dsh-float] [role=tooltip],[data-dsh-float] [class*=pill]{border-radius:8px}[data-dsh-float] button[class*=button]{border-radius:10px}[data-dsh-float] [class*=iconButton],[data-dsh-float] [class*=searchButton]{border-radius:8px}[data-dsh-float] [data-dsh-add]{background:color-mix(in srgb,rgb(255 255 255) calc(40% * var(--dsh-aqua-frost, 1)),transparent);border:1px solid rgba(19,45,83,.18);box-shadow:inset 0 1px #ffffff80;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] [data-dsh-add]:hover:not(:disabled){background:color-mix(in srgb,rgb(255 255 255) calc(58% * var(--dsh-aqua-frost, 1)),transparent)}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-add]{background:color-mix(in srgb,rgb(42 46 56) calc(40% * var(--dsh-aqua-frost, 1)),transparent);border-color:#94b4dc40;box-shadow:inset 0 1px #ffffff14}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-add]:hover:not(:disabled){background:color-mix(in srgb,rgb(54 58 70) calc(52% * var(--dsh-aqua-frost, 1)),transparent)}[data-dsh-float] [class*=bubble]{border-radius:14px;border:1px solid rgba(19,45,83,.14);background:color-mix(in srgb,rgb(255 255 255) calc(42% * var(--dsh-aqua-frost, 1)),transparent);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [class*=bubble]{border-color:#94b4dc24;background:color-mix(in srgb,rgb(0 0 0) calc(40% * var(--dsh-aqua-frost, 1)),transparent)}html[data-dsh-float][data-dsh-aqua-wallpaper][data-dsh-aqua-media=video] [class*=bubble]{background:color-mix(in srgb,rgb(255 255 255) 70%,transparent);border-color:#132d5333}html[data-dsh-float][data-dsh-aqua-wallpaper][data-dsh-aqua-media=video] body[data-ds-dark-theme] [class*=bubble]{background:color-mix(in srgb,rgb(0 0 0) 50%,transparent);border-color:#94b4dc38}[data-dsh-float] [class*=card]{border-radius:14px}[data-dsh-float] [data-composer-card],[data-dsh-float] [data-composer-card]:after{border-radius:24px}[data-dsh-float] [data-composer-card]{position:relative;z-index:8;background:var(--dsh-aqua-glass-card-light);border:1px solid rgba(19,45,83,.26);box-shadow:inset 0 1px #ffffff80,0 10px 36px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [data-composer-card]{background:var(--dsh-aqua-glass-card-dark);border:1px solid rgba(148,180,220,.32);box-shadow:inset 0 1px #ffffff12,0 10px 36px #02060e80}[data-dsh-aqua][data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]){width:calc(var(--dsh-chat-content-width) + 32px);max-width:none;margin:0 auto 12px;padding:0;border:1px solid rgba(19,45,83,.26);border-radius:24px;background:var(--dsh-aqua-glass-card-light);box-shadow:inset 0 1px #ffffff80,0 10px 36px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]){border-color:#94b4dc52;background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 10px 36px #02060e80}[data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]{border:none;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}[data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card]:after{display:none}[data-dsh-float] [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{width:100%;max-width:none;margin:auto 0 0;min-height:24px;box-sizing:border-box;display:block;padding:2px 16px;border:none;border-top:1px solid rgba(19,45,83,.18);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{border-top-color:#94b4dc3d}[data-dsh-float] [data-composer-card]:after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='24' ry='24' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='24' ry='24' stroke='black' stroke-width='2' stroke-dasharray='4 4'/%3E%3C/svg%3E")}[data-dsh-float] [class*=block]{border-radius:14px;--dsl-code-block-border-radius: 14px;--dsl-diff-radius: 14px;--dsl-read-radius: 14px;--dsl-terminal-radius: 14px;--dsl-web-radius: 14px;--dsl-search-radius: 14px}[data-dsh-float] header{margin:12px 16px 0;padding:10px 16px 8px;border:1px solid rgba(19,45,83,.26);border-bottom-color:transparent;border-radius:20px;background:var(--dsh-aqua-glass-card-light);box-shadow:inset 0 1px #ffffff80,0 10px 34px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] header:after{display:none}[data-dsh-float] body[data-ds-dark-theme] header{border-color:#94b4dc52;border-bottom-color:transparent;background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 8px 30px #02060e52}[data-dsh-float] [data-dsh-frame][data-sidebar-collapsed] header{margin-left:28px}[data-dsh-float] [class*=sidebarCol]{position:relative;z-index:9;margin:12px;padding:10px 12px 14px;border:1px solid rgba(19,45,83,.26);border-right:1px solid rgba(150,190,245,.65);border-radius:20px;background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px));box-shadow:inset 0 1px #ffffff80,0 10px 34px #132d5329;overflow:hidden}[data-dsh-float] body[data-ds-dark-theme] [class*=sidebarCol]{border-color:#94b4dc52;border-right:1px solid rgba(148,180,220,.2);background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 8px 30px #02060e52}[data-dsh-float] [data-dsh-frame][data-sidebar-collapsed] [class*=sidebarCol]{margin:12px -12px 12px 12px;padding:0;border-radius:16px;transition:margin .15s var(--ds-ease-in-out),border-radius .15s var(--ds-ease-in-out),transform .1s ease-out}[data-dsh-float] [data-dsh-frame]:not([data-sidebar-collapsed]) [data-dsh-sidebar-root]{width:100%!important}[data-dsh-float] [data-dsh-trajectory]{margin:8px 16px 12px;width:calc(100% - 32px);height:calc(100% - 20px);border:1px solid rgba(19,45,83,.26);border-radius:20px;background:var(--dsh-aqua-glass-card-light);box-shadow:inset 0 1px #ffffff80,0 10px 34px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px));overflow:hidden}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-trajectory]{border-color:#94b4dc52;background:var(--dsh-aqua-glass-card-dark);box-shadow:inset 0 1px #ffffff12,0 8px 30px #02060e52}[data-dsh-float] [data-dsh-trajectory] [role=toolbar],[data-dsh-float] [data-dsh-trajectory] section[aria-label="Trajectory timeline"]{background:transparent}[data-dsh-float] [data-dsh-inputbar]:not([class*=hero]){padding-bottom:12px}[data-dsh-float] [data-dsh-stats]{position:relative;z-index:8;width:calc(var(--dsh-chat-content-width) + 32px);max-width:none;margin:0 auto;padding:2px 16px;border:1px solid rgba(19,45,83,.26);border-top:1px solid rgba(19,45,83,.18);border-radius:0 0 24px 24px;background:var(--dsh-aqua-glass-card-light);box-shadow:0 10px 36px #132d5329;backdrop-filter:blur(var(--dsh-aqua-blur, 14px));color:#262e3ee6}[data-dsh-float] body[data-ds-dark-theme] [data-dsh-stats]{border-color:#94b4dc52;border-top-color:#94b4dc3d;background:var(--dsh-aqua-glass-card-dark);box-shadow:0 10px 36px #02060e80;color:#e4ecf8eb}[data-dsh-float] [data-composer-card] textarea::placeholder{color:#37405480}[data-dsh-float] body[data-ds-dark-theme] [data-composer-card] textarea::placeholder{color:#cdd8ea85}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-aqua-spot]{position:relative;isolation:isolate}[data-dsh-aqua] [data-dsh-aqua-glow]{display:none}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-aqua-glow]{display:block;position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:-1}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-aqua-spot][data-spot-on] [data-dsh-aqua-glow]{opacity:1}[data-dsh-aqua][data-dsh-aqua-spotlight] [data-dsh-inputbar][data-dsh-aqua-spot] [data-dsh-aqua-glow]{border-radius:24px}[data-dsh-aqua][data-dsh-float] [class*=sidebarCol]:has([role=dialog]){backdrop-filter:none}[data-dsh-float][data-dsh-aqua-press] [data-dsh-aqua-spot]{transition:transform .1s ease-out}[data-dsh-aqua] body [role=dialog]{background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-aqua] body[data-ds-dark-theme] [role=dialog]{background:var(--dsh-aqua-glass-card-dark)}[data-dsh-aqua] body [data-shortcut-modal=settings]{background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px));animation:none}[data-dsh-aqua] body[data-ds-dark-theme] [data-shortcut-modal=settings]{background:var(--dsh-aqua-glass-card-dark)}[data-dsh-float] [role=treeitem][aria-selected=true]{box-shadow:inset 2px 0 0 var(--dsw-specific-sidebar-nav-item-active-accent),0 0 16px #6e9be824}[data-dsh-float] button[class*=button]:hover:not(:disabled),[data-dsh-float] [role=menuitem]:hover:not(:disabled){box-shadow:0 0 12px #6e9be829,inset 0 0 0 1px #94b4dc38}[data-dsh-float] [role=menu]{background:color-mix(in srgb,rgb(255 255 255) 94%,transparent);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-float] body[data-ds-dark-theme] [role=menu]{background:color-mix(in srgb,rgb(28 32 42) 94%,transparent)}[data-dsh-aqua] body [data-menu-material]>[aria-hidden=true]:first-child{background:color-mix(in srgb,rgb(244 248 253) 95%,transparent)}[data-dsh-aqua] body[data-ds-dark-theme] [data-menu-material]>[aria-hidden=true]:first-child{background:color-mix(in srgb,rgb(20 29 43) 95%,transparent)}[data-dsh-aqua] [data-dsh-aqua-fade]{position:fixed;left:0;right:0;height:13px;z-index:7;pointer-events:none;backdrop-filter:blur(5px);background:#fff3}[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-aqua-fade]{background:#00000026}[data-dsh-aqua] [data-dsh-aqua-fade=top]{top:0;-webkit-mask-image:linear-gradient(180deg,black 0%,transparent 100%);mask-image:linear-gradient(180deg,black 0%,transparent 100%)}[data-dsh-aqua] [data-dsh-aqua-fade=bottom]{bottom:0;-webkit-mask-image:linear-gradient(0deg,black 0%,transparent 100%);mask-image:linear-gradient(0deg,black 0%,transparent 100%)}[data-dsh-aqua] :focus-visible{outline:2px solid rgba(110,155,232,.85);outline-offset:1px}[data-dsh-aqua] ::selection{background:#6e9be859}[data-dsh-aqua] [data-conversation-scroll]{text-shadow:0 0 1px rgba(0,0,0,.4)}[data-dsh-aqua] body:not([data-ds-dark-theme]) [data-conversation-scroll]{text-shadow:0 0 1px rgba(255,255,255,.55),0 1px 2px rgba(19,45,83,.08)}[data-dsh-float] [role=dialog] h2{font-family:Space Grotesk Variable,"Noto Serif SC",Songti SC,STSong,SimSun,serif;font-weight:600;letter-spacing:.02em}[data-dsh-float] [role=treeitem]{font-family:Space Grotesk Variable,"Noto Serif SC",Songti SC,STSong,SimSun,serif;font-weight:500}[data-dsh-float] [data-phase=hero]{animation:aqua_dsh-aqua-hero-in .32s var(--ds-ease-in-out)}[data-dsh-float] [data-phase=active]{animation:aqua_dsh-aqua-active-in .3s var(--ds-ease-in-out)}[data-dsh-float] [data-testid^=view-]{animation:aqua_dsh-aqua-view-in .26s var(--ds-ease-in-out)}[data-dsh-float] [class*=userRow]{animation:aqua_dsh-aqua-rise .28s var(--ds-ease-in-out) both}[data-dsh-float] [data-tool]{animation:aqua_dsh-aqua-rise .3s var(--ds-ease-in-out) both}[data-dsh-float] [role=dialog]{animation:aqua_dsh-aqua-dialog-in .24s var(--ds-ease-in-out)}@keyframes aqua_dsh-aqua-hero-in{0%{opacity:0}}@keyframes aqua_dsh-aqua-active-in{0%{opacity:0}}@keyframes aqua_dsh-aqua-view-in{0%{opacity:0}}@keyframes aqua_dsh-aqua-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes aqua_dsh-aqua-dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}[data-dsh-compat] [role=menu],[data-dsh-compat] [role=tooltip],[data-dsh-compat] [class*=card],[data-dsh-compat] [class*=bubble],[data-dsh-compat] [class*=panel],[data-dsh-compat] [class*=popover],[data-dsh-compat] [class*=dropdown]{backdrop-filter:blur(12px)}[data-dsh-aqua] body :is(header,[data-composer-card],[data-shortcut-modal=settings]),[data-dsh-aqua] body [data-dsh-inputbar]:has([data-dsh-stats]){background:var(--dsh-aqua-glass-card-light);backdrop-filter:blur(var(--dsh-aqua-blur, 14px))}[data-dsh-aqua] body[data-ds-dark-theme] :is(header,[data-composer-card],[data-shortcut-modal=settings]),[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]){background:var(--dsh-aqua-glass-card-dark)}[data-dsh-aqua] body [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card],[data-dsh-aqua] body[data-ds-dark-theme] [data-dsh-inputbar]:has([data-dsh-stats]) [data-composer-card],[data-dsh-aqua] body [data-dsh-inputbar]:has([data-dsh-stats]) [data-dsh-stats]{background:transparent;backdrop-filter:none}@media(prefers-reduced-motion:reduce){[data-dsh-float] [data-phase=hero],[data-dsh-float] [data-phase=active],[data-dsh-float] [data-testid^=view-],[data-dsh-float] [class*=userRow],[data-dsh-float] [data-tool],[data-dsh-float] [role=dialog],[data-dsh-aqua] [data-dsh-aqua-ambient],[data-dsh-aqua] [data-aqua-critter]{animation:none}[data-dsh-aqua] [data-aqua-critter=bubble]{opacity:0}}
3033
3124
  `;
3034
3125
  document.head.appendChild(tag);
3035
3126
  }
@@ -3059,6 +3150,8 @@ function apply(ctx) {
3059
3150
  return {
3060
3151
  enabled: layer.getEnabled(),
3061
3152
  mode: s.mode,
3153
+ sidebarFontSize: s.sidebarFontSize,
3154
+ sidebarDensity: s.sidebarDensity,
3062
3155
  blur: s.blur,
3063
3156
  frost: s.frost,
3064
3157
  fluidHue: s.fluidHue,
@@ -3109,6 +3202,14 @@ function apply(ctx) {
3109
3202
  layer.setMode(mode);
3110
3203
  sync();
3111
3204
  },
3205
+ setSidebarDensity: (value) => {
3206
+ layer.setSidebarDensity(value);
3207
+ sync();
3208
+ },
3209
+ setSidebarFontSize: (value) => {
3210
+ layer.setSidebarFontSize(value);
3211
+ sync();
3212
+ },
3112
3213
  setBlur: (blur) => {
3113
3214
  layer.setBlur(blur);
3114
3215
  sync();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "dsh-transparent-ui",
3
- "description": "Aqua glassmorphism theme for DeepSeek Harness 0.2.0-rc.2",
4
- "version": "1.3.21",
3
+ "description": "Aqua glassmorphism theme for DeepSeek Harness desktop",
4
+ "version": "1.3.23",
5
5
  "icon": "icon.svg",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "license": "AGPL-3.0-only",
59
59
  "engines": {
60
- "dsh": "0.2.0-rc.2"
60
+ "dsh": "0.2.0-rc.2 || 0.2.1-rc.2"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@deepseek-ai/cordis": "^4.0.2",