dsh-dream-skin 0.4.0 → 0.4.2

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
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <strong>中文</strong> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <a href="./README.fr.md">Français</a> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
2
+ <strong>中文</strong> · <a href="./docs/i18n/README.en.md">English</a> · <a href="./docs/i18n/README.ja.md">日本語</a> · <a href="./docs/i18n/README.ko.md">한국어</a> · <a href="./docs/i18n/README.es.md">Español</a> · <a href="./docs/i18n/README.fr.md">Français</a> · <a href="./docs/i18n/README.de.md">Deutsch</a> · <a href="./docs/i18n/README.ru.md">Русский</a>
3
3
  </p>
4
4
 
5
5
  <div align="center">
@@ -19,7 +19,7 @@
19
19
 
20
20
  ✨ **Design Philosophy — [一份关于「什么算高级」的设计声明](./docs/design-philosophy.md)** · 以 iOS / Linear 的审美为基准,把「高级感」建立在材质的准确与配色的克制上。
21
21
 
22
- [English](./README.en.md) · [变更日志](./CHANGELOG.md) · [项目说明](./docs/PROJECT.md) · [设计哲学](./docs/design-philosophy.md) · [发布指引](./docs/publishing-to-npm.md)
22
+ [English](./docs/i18n/README.en.md) · [变更日志](./CHANGELOG.md) · [项目说明](./docs/PROJECT.md) · [设计哲学](./docs/design-philosophy.md) · [发布指引](./docs/publishing-to-npm.md)
23
23
 
24
24
  ![npm version](https://img.shields.io/npm/v/dsh-dream-skin?color=4f83f2&label=npm)
25
25
  ![license](https://img.shields.io/github/license/RevolutionLA/dsh-dream-skin?color=34d399)
@@ -103,6 +103,7 @@ dsh plugin --profile web add dsh-dream-skin && dsh web
103
103
  | 📦 **主题包格式 + 导入/导出** | 一个 `*.dsh-theme.json` 主题包 = 格式标记 + 版本 + manifest(id/name/作者/色系/accent/tokens)。可**导入文件**、**一键应用**、**复制分享链接**(编码进 URL hash) |
104
104
  | 🌈 **每用户强调色 Accent** | 为当前皮肤叠加一个自定义品牌强调色(`overrideTokens` 层,不动皮肤本身),**12 个典型色块一键选色** + 选色盘 + 随机 + 恢复主题色 |
105
105
  | 🖼️ **壁纸 2.0** | 本地图 / **图片 URL** / **渐变预设**,每套皮肤**自动建议**一张渐变,可**自动弱化**(聚焦任务时降低干扰);**最近使用**(最多 5 张)一键换回 |
106
+ | 🪟 **弹窗不透明度** | 设置 → 外观 →「弹窗不透明度」滑块(0–100%),控制选项弹窗 / 选项卡卡片的底填充透明度——调高文字更清晰,调低可透出背后内容,跟随持久化保存 |
106
107
  | 🧩 **本地主题包库** | 你导入的自定义主题包集中展示,**应用 / 收藏 / 移除** 一键完成(内置 8 套皮肤在「皮肤」行选择) |
107
108
  | ✅ **清晰选中反馈** | 切换皮肤时选中态(✓ + 边框)**即时跟随**,不再残留模糊的白色高亮框 |
108
109
  | 🎲 **换一个试试(surprise me)** | 随机挑一个和你当前不同的主题 |
@@ -136,31 +137,31 @@ DeepSeek Harness 的口号是「一切皆插件」:模型、工具、沙箱、
136
137
 
137
138
  <table>
138
139
  <tr>
139
- <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b> · 深海渊</td>
140
- <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b> · 极光</td>
141
- <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b> · 星云</td>
142
- <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b> · 余烬</td>
140
+ <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b> · 沉静蓝</td>
141
+ <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b> · 极光青</td>
142
+ <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b> · 星云紫</td>
143
+ <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b> · 余烬橙</td>
143
144
  </tr>
144
145
  <tr>
145
- <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b> · 午夜</td>
146
- <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b> · 象牙暖</td>
147
- <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b> · 晨雾蓝</td>
148
- <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b> · 蔷薇粉</td>
146
+ <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b> · 午夜黑</td>
147
+ <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b> · iOS 扁平</td>
148
+ <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b> · 液态玻璃</td>
149
+ <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b> · Material 粉</td>
149
150
  </tr>
150
151
  </table>
151
152
 
152
153
  ### 预设一览
153
154
 
154
- | id | 色系 | 氛围 |
155
+ | id | 风格 | 特质 |
155
156
  |------|-------|------|
156
- | `abyss` | 🕶️ dark | DeepSeek 深蓝深渊(品牌锚点) |
157
- | `aurora` | 🌌 dark | 极光 · 青绿 |
158
- | `nebula` | 🪐 dark | 星云 · 紫 |
159
- | `ember` | 🔥 dark | 余烬 · 暖橙 |
160
- | `midnight` | 🌚 dark | 纯黑 OLED |
161
- | `ivory` | 📜 light | 象牙暖 · 纸感 |
162
- | `mist` | 🌫️ light | 晨雾蓝 · 冷调 |
163
- | `rose` | 🌸 light | 蔷薇粉 |
157
+ | `abyss` | 🕶️ 沉静蓝 | 冷静深沉的靛蓝,克制不喧哗 |
158
+ | `aurora` | 🌌 极光青 | 清冽通透的冷青,自然冷调 |
159
+ | `nebula` | 🪐 星云紫 | 深邃漫射的紫青,朦胧神秘 |
160
+ | `ember` | 🔥 余烬橙 | 温暖克制的琥珀橙 |
161
+ | `midnight` | 🌚 午夜黑 | 极简纯黑,OLED 沉浸 |
162
+ | `ivory` | 📐 iOS 扁平 | 极简平白,iOS 系统灰 + 克制的蓝 |
163
+ | `mist` | 🧊 液态玻璃 | 清透毛玻璃,半透明 + 模糊 |
164
+ | `rose` | 🌸 Material 粉 | 明快彩粉,谷歌 Material 扁平彩色 |
164
165
 
165
166
  ## ⚡ 快速开始(3 步)
166
167
 
@@ -79,14 +79,24 @@
79
79
 
80
80
  ---
81
81
 
82
- ## Material — 弥散光与毛玻璃
82
+ ## Material — 弥散光与液态玻璃
83
83
 
84
- 高级感的另一半来自**材质**,由两条通道实现:
84
+ 高级感的材质由两层承载:
85
85
 
86
86
  1. **每皮肤弥散光渐变**:每套皮肤内置一份多层 `radial-gradient` 弥散光背景(柔和光斑 + 同色系暗部分层)——选皮肤即自动挂载(用户未设自定义壁纸时),一选即现「材质感」。
87
- 2. **毛玻璃(已实现)**:注入一段自包含 CSS 为 DSH 主容器叠加 `backdrop-filter: blur()`,把弥散光雾化透入形成真·玻璃。用 `@supports` 兜底浏览器、用 `teardown` 随卸载移除;若 DSH 的 hashed 类名未来漂移,选择器静默失配、绝不破坏布局,只停止加模糊。
87
+ 2. **液态玻璃(leaf cards)**:为**叶子卡片**(输入框 `.uV2eYG_card`、行内告警 `.bqrRRG_card`、小浮层 `.lXshSW_root`)注入半透明填充 + `backdrop-filter: blur()`,让弥散光「雾化透入」形成液态玻璃。
88
88
 
89
- > 配色负责「气质」,材质负责「质感」。两样配齐,才是完整的高级感。
89
+ ### 材质分层(每层的透明度各不相同)
90
+ - **背景层**:`bg-base` / `bg-layer-1/3` —— 半透玻璃,弥散光可透出。
91
+ - **浮层/模态层**:`bg-layer-2`(设置面板用)—— 深色 `rgba(带色深,0.85)`(高不透明、背后文字不透)、亮色 `rgba(255,255,255,0.92)`(清透但可读)。
92
+ - **输入框**:`--dsw-specific-input-major` —— 深色 `rgba(255,255,255,0.08)` 液态玻璃(半透白 + blur);亮色 `rgba(255,255,255,0.92)` 干净利落。
93
+ - **用户选项弹窗**(`.Mbwy4a_card`):与输入框复用 `input-major`,因输入框刻意很透明,选项弹窗单独以 `color-mix(in srgb, var(--dsw-alias-bg-base) 94%, transparent)` 覆盖为高不透明——深浅色都保证选项文字清晰、背景不透。
94
+ - **输入框底部 scrim**:给输入框根容器一条「透明 → 高不透明 tip 色」的渐变,把滚动上来的消息 / "第 N 轮" 监控行**遮在输入框下方**,不重叠、不杂乱。
95
+
96
+ ### 关于 backdrop-filter 的安全性边界
97
+ `backdrop-filter` 会创建新的包含块(containing block),**只有加在「承载 `position: fixed` 弹窗的大容器」上**才会破坏 fixed 定位(设置面板会从「相对视口居中」被「困」进容器里)。因此我们严格只对**叶子卡片**加 blur——它们不是任何 fixed 弹窗的祖先,安全;**绝不对侧边栏 / 主列这类大容器加**。设置面板模态自身使用 DSH 自带 mask blur + 高不透明 `bg-layer-2`,可读且零风险。
98
+
99
+ > 配色负责「气质」,弥散光与液态玻璃负责「质感」。两者配齐,才是完整的高级感。
90
100
 
91
101
  ---
92
102
 
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="./README.md">中文</a> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <a href="./README.fr.md">Français</a> · <strong>Deutsch</strong> · <a href="./README.ru.md">Русский</a>
2
+ <a href="../../README.md">中文</a> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <a href="./README.fr.md">Français</a> · <strong>Deutsch</strong> · <a href="./README.ru.md">Русский</a>
3
3
  </p>
4
4
 
5
5
  <div align="center">
@@ -17,9 +17,9 @@ Natives Skinning · Wallpaper · teilbare Theme-Pakete — eine elegante Umsetzu
17
17
 
18
18
  > 1-Zeilen-Installation · rein nativ (keine Injektion, keine Installer-Patches) · übersteht DSH-Updates
19
19
 
20
- ✨ **Design Philosophy — [eine Aussage darüber, was „premium" bedeutet](./docs/design-philosophy.md)** · mit der iOS-/Linear-Ästhetik als Basis entsteht Premium aus der Präzision des Materials und der Zurückhaltung der Farben.
20
+ ✨ **Design Philosophy — [eine Aussage darüber, was „premium" bedeutet](../../docs/design-philosophy.md)** · mit der iOS-/Linear-Ästhetik als Basis entsteht Premium aus der Präzision des Materials und der Zurückhaltung der Farben.
21
21
 
22
- [中文](./README.md) · [Änderungshistorie](./CHANGELOG.md) · [Projektnotizen](./docs/PROJECT.md) · [Design Philosophy](./docs/design-philosophy.md) · [Veröffentlichungsanleitung](./docs/publishing-to-npm.md)
22
+ [中文](../../README.md) · [Änderungshistorie](../../CHANGELOG.md) · [Projektnotizen](../../docs/PROJECT.md) · [Design Philosophy](../../docs/design-philosophy.md) · [Veröffentlichungsanleitung](../../docs/publishing-to-npm.md)
23
23
 
24
24
  ![npm version](https://img.shields.io/npm/v/dsh-dream-skin?color=4f83f2&label=npm)
25
25
  ![license](https://img.shields.io/github/license/RevolutionLA/dsh-dream-skin?color=34d399)
@@ -146,31 +146,31 @@ von DSH.
146
146
 
147
147
  <table>
148
148
  <tr>
149
- <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b></td>
150
- <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b></td>
151
- <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b></td>
152
- <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b></td>
149
+ <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b> · Tiefes Blau</td>
150
+ <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b> · Aurora Grün</td>
151
+ <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b> · Nebel Lila</td>
152
+ <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b> · Bernstein</td>
153
153
  </tr>
154
154
  <tr>
155
- <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b></td>
156
- <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b></td>
157
- <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b></td>
158
- <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b></td>
155
+ <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b> · OLED Mitternacht</td>
156
+ <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b> · iOS Flat</td>
157
+ <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b> · Flüssiges Glas</td>
158
+ <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b> · Material Pink</td>
159
159
  </tr>
160
160
  </table>
161
161
 
162
162
  ## 🎲 Die Presets
163
163
 
164
- | id | scheme | vibe |
164
+ | id | Stil | Charakter |
165
165
  |------|--------|------|
166
- | `abyss` | 🕶️ dunkel | DeepSeek tiefblauer Abgrund (Anker) |
167
- | `aurora` | 🌌 dunkel | Aurora-Türkisgrün |
168
- | `nebula` | 🪐 dunkel | kosmisches Lila |
169
- | `ember` | 🔥 dunkel | warmes Glut-Orange |
170
- | `midnight` | 🌚 dunkel | reines Schwarz (OLED) |
171
- | `ivory` | 📜 hell | warmes Elfenbein / Papier |
172
- | `mist` | 🌫️ hell | kühler Blauer Nebel |
173
- | `rose` | 🌸 hell | Rosarot / Blush |
166
+ | `abyss` | 🕶️ Tiefes Blau | ruhiges tiefes Indigo, zurückhaltend und leise |
167
+ | `aurora` | 🌌 Aurora Grün | kühles, klares, transluzentes Türkis, natürlicher Kaltton |
168
+ | `nebula` | 🪐 Nebel Lila | tiefes, diffuses Violett-Blau, neblig und geheimnisvoll |
169
+ | `ember` | 🔥 Bernstein | warmes, zurückhaltendes Amber-Orange |
170
+ | `midnight` | 🌚 OLED Mitternacht | minimalistisches reines Schwarz, immersives OLED |
171
+ | `ivory` | 📐 iOS Flat | minimalistisches flaches Weiß, iOS-Systemgrau + zurückhaltendes Blau |
172
+ | `mist` | 🧊 Flüssiges Glas | klares Milchglas, halbtransparent + unscharf |
173
+ | `rose` | 🌸 Material Pink | helles kräftiges Pink, flache Google-Material-Farben |
174
174
 
175
175
  ## 📦 Installation
176
176
 
@@ -308,12 +308,12 @@ Das Client-Bundle ist direkt im `__ModuleLoader__`-Format geschrieben (dieselbe
308
308
  - **Einen integrierten Skin hinzufügen**: Füge dem `SKINS`-Array in `lib/client.js` ein Objekt (`id` + `colorScheme` +
309
309
  `tokens`) hinzu; es erscheint dann automatisch in den Einstellungen. Füge einen Schlüssel `skin.<id>` in **allen 8 Sprachwörterbüchern** (`zh`/`en`/`ja`/`ko`/`es`/`fr`/`de`/`ru`) hinzu.
310
310
 
311
- - **Ein Theme-Paket ausliefern (empfohlen)**: Folge [`docs/examples/sample-theme-pack.json`](./docs/examples/sample-theme-pack.json) —
311
+ - **Ein Theme-Paket ausliefern (empfohlen)**: Folge [`docs/examples/sample-theme-pack.json`](../../docs/examples/sample-theme-pack.json) —
312
312
  eine `*.dsh-theme.json` ist in den Einstellungen importierbar und über einen Link teilbar, ohne Codeänderungen.
313
- - **Eigene Wallpaper hinzufügen**: Lege Bilder in [`wallpapers/`](./wallpapers/) ab (verbreite nur, wofür du die Rechte
313
+ - **Eigene Wallpaper hinzufügen**: Lege Bilder in [`wallpapers/`](../../wallpapers/) ab (verbreite nur, wofür du die Rechte
314
314
  hast) und importiere sie dann über die „Wallpaper“-Reihe von DSH.
315
315
  - **Validieren**: `npm test` (VM-Smoke-Tests, die Factory-Eval, `apply()` sowie Paket-Import/-Persistenz abdecken).
316
- - **Neu einfärben**: Nutze die `--dsw-alias-*`-Tokens (vollständiger Vertrag in [`docs/themes-spec.md`](./docs/themes-spec.md)).
316
+ - **Neu einfärben**: Nutze die `--dsw-alias-*`-Tokens (vollständiger Vertrag in [`docs/themes-spec.md`](../../docs/themes-spec.md)).
317
317
 
318
318
  ## 📌 Roadmap
319
319
 
@@ -329,8 +329,8 @@ Das Client-Bundle ist direkt im `__ModuleLoader__`-Format geschrieben (dieselbe
329
329
 
330
330
  ## 🤝 Mitwirken
331
331
 
332
- Issues und PRs sind willkommen! Bitte lies den [Contributing Guide](./CONTRIBUTING.md) und beachte den
333
- [Code of Conduct](./CODE_OF_CONDUCT.md).
332
+ Issues und PRs sind willkommen! Bitte lies den [Contributing Guide](../../CONTRIBUTING.md) und beachte den
333
+ [Code of Conduct](../../CODE_OF_CONDUCT.md).
334
334
 
335
335
  ## ⭐ Das Projekt unterstützen
336
336
 
@@ -340,11 +340,11 @@ beisteuern? Mach mit.
340
340
 
341
341
  ## 🔒 Sicherheit
342
342
 
343
- Ein Sicherheitsproblem gefunden? Öffne kein öffentliches Issue — siehe die [Security Policy](./SECURITY.md).
343
+ Ein Sicherheitsproblem gefunden? Öffne kein öffentliches Issue — siehe die [Security Policy](../../SECURITY.md).
344
344
 
345
345
  ## 📄 Lizenz
346
346
 
347
- [MIT](./LICENSE)
347
+ [MIT](../../LICENSE)
348
348
 
349
349
  ## 🙏 Danksagungen
350
350
 
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="./README.md">中文</a> · <strong>English</strong> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <a href="./README.fr.md">Français</a> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
2
+ <a href="../../README.md">中文</a> · <strong>English</strong> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <a href="./README.fr.md">Français</a> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
3
3
  </p>
4
4
 
5
5
  <div align="center">
@@ -17,9 +17,9 @@ Native skinning · wallpaper · shareable theme packs — an elegant implementat
17
17
 
18
18
  > 1-line install · purely native (no injection, no installer patches) · survives DSH updates
19
19
 
20
- ✨ **Design Philosophy — [a statement on what "premium" means](./docs/design-philosophy.md)** · grounded in iOS / Linear aesthetics, premium comes from material precision and restrained color.
20
+ ✨ **Design Philosophy — [a statement on what "premium" means](../../docs/design-philosophy.md)** · grounded in iOS / Linear aesthetics, premium comes from material precision and restrained color.
21
21
 
22
- [中文](./README.md) · [Changelog](./CHANGELOG.md) · [Project Notes](./docs/PROJECT.md) · [Design Philosophy](./docs/design-philosophy.md) · [Publishing Guide](./docs/publishing-to-npm.md)
22
+ [中文](../../README.md) · [Changelog](../../CHANGELOG.md) · [Project Notes](../../docs/PROJECT.md) · [Design Philosophy](../../docs/design-philosophy.md) · [Publishing Guide](../../docs/publishing-to-npm.md)
23
23
 
24
24
  ![npm version](https://img.shields.io/npm/v/dsh-dream-skin?color=4f83f2&label=npm)
25
25
  ![license](https://img.shields.io/github/license/RevolutionLA/dsh-dream-skin?color=34d399)
@@ -146,31 +146,31 @@ system.
146
146
 
147
147
  <table>
148
148
  <tr>
149
- <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b></td>
150
- <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b></td>
151
- <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b></td>
152
- <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b></td>
149
+ <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b> · Deep Blue</td>
150
+ <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b> · Aurora Green</td>
151
+ <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b> · Nebula Purple</td>
152
+ <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b> · Ember Amber</td>
153
153
  </tr>
154
154
  <tr>
155
- <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b></td>
156
- <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b></td>
157
- <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b></td>
158
- <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b></td>
155
+ <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b> · Midnight OLED</td>
156
+ <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b> · iOS Flat</td>
157
+ <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b> · Liquid Glass</td>
158
+ <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b> · Material Pink</td>
159
159
  </tr>
160
160
  </table>
161
161
 
162
162
  ## 🎲 The presets
163
163
 
164
- | id | scheme | vibe |
164
+ | id | style | trait |
165
165
  |------|--------|------|
166
- | `abyss` | 🕶️ dark | DeepSeek deep-blue abyss (anchor) |
167
- | `aurora` | 🌌 dark | aurora teal-green |
168
- | `nebula` | 🪐 dark | cosmic purple |
169
- | `ember` | 🔥 dark | warm ember orange |
170
- | `midnight` | 🌚 dark | pure-black OLED |
171
- | `ivory` | 📜 light | warm ivory / paper |
172
- | `mist` | 🌫️ light | cool blue fog |
173
- | `rose` | 🌸 light | rose pink / blush |
166
+ | `abyss` | 🕶️ Deep Blue | calm deep indigo, restrained and quiet |
167
+ | `aurora` | 🌌 Aurora Green | crisp translucent cool teal, natural cold tone |
168
+ | `nebula` | 🪐 Nebula Purple | deep diffused violet-blue, hazy and mysterious |
169
+ | `ember` | 🔥 Ember Amber | warm restrained amber orange |
170
+ | `midnight` | 🌚 Midnight OLED | minimal pure black, immersive OLED |
171
+ | `ivory` | 📐 iOS Flat | minimal flat white, iOS system gray + restrained blue |
172
+ | `mist` | 🧊 Liquid Glass | clear frosted glass, translucent + blurred |
173
+ | `rose` | 🌸 Material Pink | bright vivid pink, Google Material flat colors |
174
174
 
175
175
  ## 📦 Install
176
176
 
@@ -306,12 +306,12 @@ seeds (`react`, `react/jsx-runtime`, …) and registered client bundles (`@deeps
306
306
  - **Add a built-in skin**: append an object (`id` + `colorScheme` + `tokens`) to the `SKINS` array in `lib/client.js`;
307
307
  it then appears in Settings automatically. Add a `skin.<id>` key to **all 8 locale dictionaries**
308
308
  (`zh`/`en`/`ja`/`ko`/`es`/`fr`/`de`/`ru`).
309
- - **Ship a theme pack (recommended)**: follow [`docs/examples/sample-theme-pack.json`](./docs/examples/sample-theme-pack.json) —
309
+ - **Ship a theme pack (recommended)**: follow [`docs/examples/sample-theme-pack.json`](../../docs/examples/sample-theme-pack.json) —
310
310
  one `*.dsh-theme.json` is importable in Settings and shareable via a link, no code changes needed.
311
- - **Add your own wallpapers**: drop images into [`wallpapers/`](./wallpapers/) (distribute only what you have rights
311
+ - **Add your own wallpapers**: drop images into [`wallpapers/`](../../wallpapers/) (distribute only what you have rights
312
312
  to), then import them via DSH's "Wallpaper" row.
313
313
  - **Validate**: `npm test` (VM smoke tests covering factory eval, `apply()`, and pack import/persistence).
314
- - **Repaint**: reference the `--dsw-alias-*` tokens (full contract in [`docs/themes-spec.md`](./docs/themes-spec.md)).
314
+ - **Repaint**: reference the `--dsw-alias-*` tokens (full contract in [`docs/themes-spec.md`](../../docs/themes-spec.md)).
315
315
 
316
316
  ## 📌 Roadmap
317
317
 
@@ -327,8 +327,8 @@ seeds (`react`, `react/jsx-runtime`, …) and registered client bundles (`@deeps
327
327
 
328
328
  ## 🤝 Contributing
329
329
 
330
- Issues and PRs welcome! Please read the [Contributing Guide](./CONTRIBUTING.md) and follow the
331
- [Code of Conduct](./CODE_OF_CONDUCT.md).
330
+ Issues and PRs welcome! Please read the [Contributing Guide](../../CONTRIBUTING.md) and follow the
331
+ [Code of Conduct](../../CODE_OF_CONDUCT.md).
332
332
 
333
333
  ## ⭐ Support the project
334
334
 
@@ -337,11 +337,11 @@ get discovered and keeps it maintained. Want to contribute themes / an online St
337
337
 
338
338
  ## 🔒 Security
339
339
 
340
- Found a security issue? Don't open a public issue — see the [Security Policy](./SECURITY.md).
340
+ Found a security issue? Don't open a public issue — see the [Security Policy](../../SECURITY.md).
341
341
 
342
342
  ## 📄 License
343
343
 
344
- [MIT](./LICENSE)
344
+ [MIT](../../LICENSE)
345
345
 
346
346
  ## 🙏 Acknowledgments
347
347
 
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="./README.md">中文</a> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <strong>Español</strong> · <a href="./README.fr.md">Français</a> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
2
+ <a href="../../README.md">中文</a> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <strong>Español</strong> · <a href="./README.fr.md">Français</a> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
3
3
  </p>
4
4
 
5
5
  <div align="center">
@@ -17,9 +17,9 @@ Skinning nativo · wallpaper · paquetes de temas compartibles — una implement
17
17
 
18
18
  > Instalación en 1 línea · 100 % nativo (sin inyección, sin parches al instalador) · sobrevive a las actualizaciones de DSH
19
19
 
20
- ✨ **Design Philosophy — [una declaración sobre qué significa «premium»](./docs/design-philosophy.md)** · con la estética de iOS / Linear como base, lo premium nace de la precisión del material y la restricción del color.
20
+ ✨ **Design Philosophy — [una declaración sobre qué significa «premium»](../../docs/design-philosophy.md)** · con la estética de iOS / Linear como base, lo premium nace de la precisión del material y la restricción del color.
21
21
 
22
- [中文](./README.md) · [Historial de cambios](./CHANGELOG.md) · [Notas del proyecto](./docs/PROJECT.md) · [Design Philosophy](./docs/design-philosophy.md) · [Guía de publicación](./docs/publishing-to-npm.md)
22
+ [中文](../../README.md) · [Historial de cambios](../../CHANGELOG.md) · [Notas del proyecto](../../docs/PROJECT.md) · [Design Philosophy](../../docs/design-philosophy.md) · [Guía de publicación](../../docs/publishing-to-npm.md)
23
23
 
24
24
  ![npm version](https://img.shields.io/npm/v/dsh-dream-skin?color=4f83f2&label=npm)
25
25
  ![license](https://img.shields.io/github/license/RevolutionLA/dsh-dream-skin?color=34d399)
@@ -146,31 +146,31 @@ de plugins de DSH.
146
146
 
147
147
  <table>
148
148
  <tr>
149
- <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b></td>
150
- <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b></td>
151
- <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b></td>
152
- <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b></td>
149
+ <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b> · Azul profundo</td>
150
+ <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b> · Aurora verde</td>
151
+ <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b> · Nebulosa púrpura</td>
152
+ <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b> · Ámbar</td>
153
153
  </tr>
154
154
  <tr>
155
- <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b></td>
156
- <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b></td>
157
- <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b></td>
158
- <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b></td>
155
+ <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b> · OLED medianoche</td>
156
+ <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b> · iOS Flat</td>
157
+ <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b> · Vidrio líquido</td>
158
+ <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b> · Material rosa</td>
159
159
  </tr>
160
160
  </table>
161
161
 
162
162
  ## 🎲 Los ajustes predefinidos
163
163
 
164
- | id | esquema | vibra |
164
+ | id | estilo | rasgo |
165
165
  |------|--------|------|
166
- | `abyss` | 🕶️ dark | abismo azul profundo de DeepSeek (ancla) |
167
- | `aurora` | 🌌 dark | verde azulado tipo aurora |
168
- | `nebula` | 🪐 dark | púrpura cósmico |
169
- | `ember` | 🔥 dark | naranja brasa cálido |
170
- | `midnight` | 🌚 dark | OLED negro puro |
171
- | `ivory` | 📜 light | marfil cálido / papel |
172
- | `mist` | 🌫️ light | niebla azul fría |
173
- | `rose` | 🌸 light | rosa / rubor |
166
+ | `abyss` | 🕶️ Azul profundo | índigo profundo y sereno, contenido y silencioso |
167
+ | `aurora` | 🌌 Aurora verde | verde azulado frío, nítido y translúcido, tono frío natural |
168
+ | `nebula` | 🪐 Nebulosa púrpura | azul violáceo profundo y difuso, brumoso y misterioso |
169
+ | `ember` | 🔥 Ámbar | naranja ámbar cálido y contenido |
170
+ | `midnight` | 🌚 OLED medianoche | negro puro minimalista, OLED inmersivo |
171
+ | `ivory` | 📐 iOS Flat | blanco plano minimalista, gris del sistema iOS + azul contenido |
172
+ | `mist` | 🧊 Vidrio líquido | vidrio esmerilado claro, semitransparente + difuminado |
173
+ | `rose` | 🌸 Material rosa | rosa vivo y brillante, colores planos de Google Material |
174
174
 
175
175
  ## 📦 Instalación
176
176
 
@@ -305,12 +305,12 @@ entidades de la tabla de módulos: semillas de plataforma (`react`, `react/jsx-r
305
305
 
306
306
  - **Añadir un skin integrado**: añade un objeto (`id` + `colorScheme` + `tokens`) al array `SKINS` en `lib/client.js`;
307
307
  aparecerá automáticamente en Ajustes. Añade una clave `skin.<id>` a **los 8 diccionarios de idioma** (`zh`/`en`/`ja`/`ko`/`es`/`fr`/`de`/`ru`).
308
- - **Publicar un paquete de temas (recomendado)**: sigue [`docs/examples/sample-theme-pack.json`](./docs/examples/sample-theme-pack.json):
308
+ - **Publicar un paquete de temas (recomendado)**: sigue [`docs/examples/sample-theme-pack.json`](../../docs/examples/sample-theme-pack.json):
309
309
  un único `*.dsh-theme.json` es importable en Ajustes y compartible mediante un enlace, sin necesidad de cambios de código.
310
- - **Añadir tus propios wallpapers**: coloca las imágenes en [`wallpapers/`](./wallpapers/) (distribuye solo aquello sobre
310
+ - **Añadir tus propios wallpapers**: coloca las imágenes en [`wallpapers/`](../../wallpapers/) (distribuye solo aquello sobre
311
311
  lo que tengas derechos) e impórtalas desde la fila «Wallpaper» de DSH.
312
312
  - **Validar**: `npm test` (pruebas de humo en VM que cubren la evaluación de la factory, `apply()` y la importación/persistencia de paquetes).
313
- - **Repintar**: consulta los tokens `--dsw-alias-*` (contrato completo en [`docs/themes-spec.md`](./docs/themes-spec.md)).
313
+ - **Repintar**: consulta los tokens `--dsw-alias-*` (contrato completo en [`docs/themes-spec.md`](../../docs/themes-spec.md)).
314
314
 
315
315
  ## 📌 Hoja de ruta
316
316
 
@@ -326,8 +326,8 @@ entidades de la tabla de módulos: semillas de plataforma (`react`, `react/jsx-r
326
326
 
327
327
  ## 🤝 Contribuciones
328
328
 
329
- ¡Las issues y los PRs son bienvenidos! Lee la [Guía de contribución](./CONTRIBUTING.md) y sigue el
330
- [Código de conducta](./CODE_OF_CONDUCT.md).
329
+ ¡Las issues y los PRs son bienvenidos! Lee la [Guía de contribución](../../CONTRIBUTING.md) y sigue el
330
+ [Código de conducta](../../CODE_OF_CONDUCT.md).
331
331
 
332
332
  ## ⭐ Apoya el proyecto
333
333
 
@@ -336,11 +336,11 @@ ayuda a que el proyecto sea descubierto y se mantenga. ¿Quieres aportar temas,
336
336
 
337
337
  ## 🔒 Seguridad
338
338
 
339
- ¿Has encontrado un problema de seguridad? No abras una issue pública: consulta la [Política de seguridad](./SECURITY.md).
339
+ ¿Has encontrado un problema de seguridad? No abras una issue pública: consulta la [Política de seguridad](../../SECURITY.md).
340
340
 
341
341
  ## 📄 Licencia
342
342
 
343
- [MIT](./LICENSE)
343
+ [MIT](../../LICENSE)
344
344
 
345
345
  ## 🙏 Agradecimientos
346
346
 
@@ -1,5 +1,5 @@
1
1
  <p align="center">
2
- <a href="./README.md">中文</a> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <strong>Français</strong> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
2
+ <a href="../../README.md">中文</a> · <a href="./README.en.md">English</a> · <a href="./README.ja.md">日本語</a> · <a href="./README.ko.md">한국어</a> · <a href="./README.es.md">Español</a> · <strong>Français</strong> · <a href="./README.de.md">Deutsch</a> · <a href="./README.ru.md">Русский</a>
3
3
  </p>
4
4
 
5
5
  <div align="center">
@@ -17,9 +17,9 @@ Habillage natif · fond d'écran · packs de thèmes partageables — une implé
17
17
 
18
18
  > Installation en 1 ligne · 100 % natif (aucune injection, aucun patch d'installation) · résiste aux mises à jour de DSH
19
19
 
20
- ✨ **Design Philosophy — [une déclaration sur ce que « premium » signifie](./docs/design-philosophy.md)** · avec l'esthétique iOS / Linear comme base, le premium naît de la précision du matériau et de la retenue des couleurs.
20
+ ✨ **Design Philosophy — [une déclaration sur ce que « premium » signifie](../../docs/design-philosophy.md)** · avec l'esthétique iOS / Linear comme base, le premium naît de la précision du matériau et de la retenue des couleurs.
21
21
 
22
- [中文](./README.md) · [Historique](./CHANGELOG.md) · [Notes du projet](./docs/PROJECT.md) · [Design Philosophy](./docs/design-philosophy.md) · [Guide de publication](./docs/publishing-to-npm.md)
22
+ [中文](../../README.md) · [Historique](../../CHANGELOG.md) · [Notes du projet](../../docs/PROJECT.md) · [Design Philosophy](../../docs/design-philosophy.md) · [Guide de publication](../../docs/publishing-to-npm.md)
23
23
 
24
24
  ![npm version](https://img.shields.io/npm/v/dsh-dream-skin?color=4f83f2&label=npm)
25
25
  ![license](https://img.shields.io/github/license/RevolutionLA/dsh-dream-skin?color=34d399)
@@ -146,31 +146,31 @@ officiel de DSH.
146
146
 
147
147
  <table>
148
148
  <tr>
149
- <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b></td>
150
- <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b></td>
151
- <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b></td>
152
- <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b></td>
149
+ <td align="center"><img src="docs/previews/abyss.svg" width="220" alt="abyss"/><br/><b>abyss</b> · Bleu profond</td>
150
+ <td align="center"><img src="docs/previews/aurora.svg" width="220" alt="aurora"/><br/><b>aurora</b> · Aurora vert</td>
151
+ <td align="center"><img src="docs/previews/nebula.svg" width="220" alt="nebula"/><br/><b>nebula</b> · Nébuleuse violette</td>
152
+ <td align="center"><img src="docs/previews/ember.svg" width="220" alt="ember"/><br/><b>ember</b> · Ambre</td>
153
153
  </tr>
154
154
  <tr>
155
- <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b></td>
156
- <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b></td>
157
- <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b></td>
158
- <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b></td>
155
+ <td align="center"><img src="docs/previews/midnight.svg" width="220" alt="midnight"/><br/><b>midnight</b> · OLED minuit</td>
156
+ <td align="center"><img src="docs/previews/ivory.svg" width="220" alt="ivory"/><br/><b>ivory</b> · iOS Flat</td>
157
+ <td align="center"><img src="docs/previews/mist.svg" width="220" alt="mist"/><br/><b>mist</b> · Verre liquide</td>
158
+ <td align="center"><img src="docs/previews/rose.svg" width="220" alt="rose"/><br/><b>rose</b> · Material rose</td>
159
159
  </tr>
160
160
  </table>
161
161
 
162
162
  ## 🎲 Les préréglages
163
163
 
164
- | id | schéma | ambiance |
164
+ | id | style | trait |
165
165
  |------|--------|------|
166
- | `abyss` | 🕶️ sombre | abîme bleu profond DeepSeek (ancrage) |
167
- | `aurora` | 🌌 sombre | aurore vert sarcelle |
168
- | `nebula` | 🪐 sombre | pourpre cosmique |
169
- | `ember` | 🔥 sombre | orange braise chaleureux |
170
- | `midnight` | 🌚 sombre | noir pur OLED |
171
- | `ivory` | 📜 clair | ivoire chaleureux / papier |
172
- | `mist` | 🌫️ clair | brume bleue froide |
173
- | `rose` | 🌸 clair | rose / blush |
166
+ | `abyss` | 🕶️ Bleu profond | indigo profond et calme, sobre et discret |
167
+ | `aurora` | 🌌 Aurora vert | vert sarcelle froid, limpide et translucide, ton froid naturel |
168
+ | `nebula` | 🪐 Nébuleuse violette | violet-bleu profond et diffus, brumeux et mystérieux |
169
+ | `ember` | 🔥 Ambre | orange ambre chaleureux et sobre |
170
+ | `midnight` | 🌚 OLED minuit | noir pur minimaliste, OLED immersif |
171
+ | `ivory` | 📐 iOS Flat | blanc plat minimaliste, gris système iOS + bleu sobre |
172
+ | `mist` | 🧊 Verre liquide | verre dépoli limpide, translucide + flou |
173
+ | `rose` | 🌸 Material rose | rose vif et éclatant, couleurs plates Google Material |
174
174
 
175
175
  ## 📦 Installation
176
176
 
@@ -305,12 +305,12 @@ seeds de plateforme (`react`, `react/jsx-runtime`, …) et les bundles client en
305
305
 
306
306
  - **Ajouter un skin intégré** : ajoutez un objet (`id` + `colorScheme` + `tokens`) au tableau `SKINS` dans `lib/client.js` ;
307
307
  il apparaîtra alors automatiquement dans les Paramètres. Ajoutez une clé `skin.<id>` aux **8 dictionnaires de langue** (`zh`/`en`/`ja`/`ko`/`es`/`fr`/`de`/`ru`).
308
- - **Publier un pack de thèmes (recommandé)** : suivez [`docs/examples/sample-theme-pack.json`](./docs/examples/sample-theme-pack.json) —
308
+ - **Publier un pack de thèmes (recommandé)** : suivez [`docs/examples/sample-theme-pack.json`](../../docs/examples/sample-theme-pack.json) —
309
309
  un `*.dsh-theme.json` est importable dans les Paramètres et partageable via un lien, sans aucune modification de code.
310
- - **Ajouter vos propres fonds d'écran** : déposez des images dans [`wallpapers/`](./wallpapers/) (ne distribuez que ce dont vous avez
310
+ - **Ajouter vos propres fonds d'écran** : déposez des images dans [`wallpapers/`](../../wallpapers/) (ne distribuez que ce dont vous avez
311
311
  les droits), puis importez-les via la rangée « Fond d'écran » de DSH.
312
312
  - **Valider** : `npm test` (tests de fumée VM couvrant l'évaluation de la factory, `apply()` et l'import/la persistance des packs).
313
- - **Repeindre** : référez-vous aux tokens `--dsw-alias-*` (contrat complet dans [`docs/themes-spec.md`](./docs/themes-spec.md)).
313
+ - **Repeindre** : référez-vous aux tokens `--dsw-alias-*` (contrat complet dans [`docs/themes-spec.md`](../../docs/themes-spec.md)).
314
314
 
315
315
  ## 📌 Feuille de route
316
316
 
@@ -326,8 +326,8 @@ seeds de plateforme (`react`, `react/jsx-runtime`, …) et les bundles client en
326
326
 
327
327
  ## 🤝 Contribuer
328
328
 
329
- Issues et PR bienvenues ! Veuillez lire le [Guide de contribution](./CONTRIBUTING.md) et respecter le
330
- [Code de conduite](./CODE_OF_CONDUCT.md).
329
+ Issues et PR bienvenues ! Veuillez lire le [Guide de contribution](../../CONTRIBUTING.md) et respecter le
330
+ [Code de conduite](../../CODE_OF_CONDUCT.md).
331
331
 
332
332
  ## ⭐ Soutenir le projet
333
333
 
@@ -336,11 +336,11 @@ Si vous l'aimez : mettez une étoile **⭐** au dépôt, un pouce **👍** sur n
336
336
 
337
337
  ## 🔒 Sécurité
338
338
 
339
- Vous avez trouvé un problème de sécurité ? N'ouvrez pas d'issue publique — consultez la [Politique de sécurité](./SECURITY.md).
339
+ Vous avez trouvé un problème de sécurité ? N'ouvrez pas d'issue publique — consultez la [Politique de sécurité](../../SECURITY.md).
340
340
 
341
341
  ## 📄 Licence
342
342
 
343
- [MIT](./LICENSE)
343
+ [MIT](../../LICENSE)
344
344
 
345
345
  ## 🙏 Remerciements
346
346