diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..42b5918
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,12 @@
+# 本地校验用的依赖(脚本在仓库外的 _tooling/,这里只是 npm install 的落点)
+node_modules/
+package-lock.json
+
+# 编辑器 / 系统垃圾
+.vscode/
+.idea/
+.DS_Store
+Thumbs.db
+
+# 临时产物
+*.log
diff --git a/README.md b/README.md
index 9242d5a..028289f 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,9 @@
一个干净、纯本地的密码生成器。单文件 `index.html`,双击即用,也可丢到任意静态托管上。
-
+**在线使用 → https://password.yangyq.net/**
+
+
## 特点
@@ -17,12 +19,28 @@
- **自定义排除** — 想避开 `@`、空格或某个符号,直接填进去。
- **强度与熵** — 按 `长度 × log₂(字符池)` 算真实熵,分五档给出评价,同时显示字符池规模。
- **批量候选** — 一次出 5 个,点任意一条即复制。
+- **不保留记录** — 不记历史,`localStorage` 只存偏好设置与主题,不存密码。
+
+## 界面
+
+设置与主操作分居左右两栏 —— 不调设置的人,视线直接落到右侧的密码和「复制密码」上。
+「复制密码」与「换一个」严格等大(实测 241×42,宽高差 0px),用渐变与实心填充区分主次。
+
+浅色主题:
+
+
+
+移动端自动转为上下单列,设置在输出之上:
+
+
## 使用
-直接打开 `index.html` 即可。
+直接用浏览器打开 `index.html` 即可,无需服务器。
-想用 http 协议(例如需要真实剪贴板权限时):
+已经部署的在线版本:
+
+想在本地用 http 协议(例如需要真实剪贴板权限时):
```bash
python -m http.server 8000
@@ -56,6 +74,7 @@ Chrome / Edge / Firefox / Safari 的近两年版本,以及移动端浏览器
```
index.html 全部内容:结构、样式、脚本
+docs/ README 用的界面截图
```
## 开发校验
@@ -75,6 +94,16 @@ node _sp_visual_falsify.js # 反向注入,证明几何判据有牙齿(6
把「按钮等大」「两栏左右」这类几何 bug 注进去根本影响不到被测判据,
会表现成"注入后仍全绿",看着像判据没牙齿,其实是靶子选错。
+重拍 README 截图:
+
+```bash
+node _sp_shots.js # 输出到仓库 docs/:dark.png / light.png / mobile.png
+node _sp_shot_verify.js # 断言被截图的那个页面状态是对的(26 条)
+```
+
+> 截图脚本与判据脚本分开,是因为判据脚本的截图(`_sp_shots` 目录)尺寸与时机跟着判据走,
+> 会带 toast、焦点框、320px 极端视口;README 需要的是干净的产品图。混在一起改判据就会把图搞脏。
+
## License
MIT
\ No newline at end of file
diff --git a/docs/dark.png b/docs/dark.png
index d547e0f..f244322 100644
Binary files a/docs/dark.png and b/docs/dark.png differ
diff --git a/docs/light.png b/docs/light.png
index dd4796e..bda3eb7 100644
Binary files a/docs/light.png and b/docs/light.png differ
diff --git a/docs/mobile.png b/docs/mobile.png
index 0367c70..f72c0fa 100644
Binary files a/docs/mobile.png and b/docs/mobile.png differ